Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

面向对象健身操

被公认的7大软件设计理念

  • 内聚性
  • 松耦合
  • 零重复
  • 封装
  • 可测试性
  • 可读性
  • 单一职责

开闭原则

开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
开闭原则是对功能的扩展开放,对修改关闭。

9步迈向优秀的软件设计

  • 方法只使用一次缩进

动机 :庞大的方法往往缺少内聚性,一个常见的原则是将方法控制着5 行以内(不包括入参检查)。 你可以尝试让每个方法只做一件事情——每个方法只保护一个控制结构或一个代码块。 方法 :利用IDE的抽取方法的功能,不断的抽取方法中的行为,直到一个方法只有一级缩进位置。运用这些规则的技能是一种艺术,它能将程序员提升到一个新的高度。”

  • 拒绝使用else关键字

动机:复杂的条件判决难于理解,易形成更深的判断逻辑层次,而且易产生重复代码。
方法:对于简单判断可以使用卫语句和提前返回,对于复杂的条件判断则可以使用多态。另外也可以使用策略模式。

  • 封装所有的原生类型和字符串

动机:整数只是代表一个数量,没有实际的含义。 方法:用类来表示原生类型,比如年,月,日等。这样可以进行严格的类型检查。

  • 一行代码只有一个“.” 运算符

动机:如果一行中含有多个“.”,则说明很多职责的位置放置错了。尝试让对象为你做一些事情,而不要窥视对象内部的细节。 方法:封装的含义就是,不要让类的边界跨入到它不应该知道的类型中。

不要和陌生人说话

  • 不要使用缩写

动机 :缩写的原因:1 )一遍一遍的敲打同样的单词,则可能是因为某个方法调用过于频繁——要消除一下重复。 2 )方法名字太长——可能是职责没有放在应该在的位置或者有确实的类。
方法 :所有实体对象的名称都只能包含一到两个单词,不要使用缩写。

  • 保持实体对象简单清晰

动机 :超过50 行的类所做的事情通常都不止一个。这会导致他们难以理解和重用。 方法:每个类的长度不能超过 50 行。每个包所包含的文件不超过 10 个。

  • 任何类中的实例变量都不要超过两个

动机 :将一个对象从拥有大量属性的状态,解构成分层次的,相互关联的多个对象,会直接产生一个更实用的对象模型。将一个复杂的大的对象,分解成多个简单的对象。
方法 :可以将实例变量按照相关性分离在两个或多个部分中;可以创建一个新的对象来封装两个已有的实例变量。

  • 使用一流的集合

动机:对集合的操作缺少业务语义理解,应该被封装成可读性更强的代码;实例变量规则的扩展;
方法: 封装,用类来表示

包含集合的类都不能再包含其他的成员变量

  • 不使用任何Getter/Setter/Property

如果可以从对象之外随便询问实例变量的值,那么行为与数据就不可能封装到一处
不要去询问!命令

Comments ( 0 )

Sign in for post a comment

About

Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more