类应该描述一个单一的实体,而所有的类操作应该在逻辑上相互配合,支持一个一致的目的。
遵循标准Java程序设计风格和命名习惯。
一个类应该使用private修饰符隐藏其数据,以免用户直接访问。
为使设计清晰,内聚性、一致性和封装性都是很好的设计原则。
依赖与类的具体实例的变量或方法必须是一个实例白能量或方法。如果一个变量被类的所有实例所共享,那就应该将他声明为静态的。
集成和聚合之间的差异,就是is-a(是一种)和has-a(具有)之间的关系。例如苹果是一种水果,人具有名字。
接口和抽象都可以用于为对象指定共同的行为。如何决定是采用接口还是类呢?通常,比较强的is-a(是一种)关系清晰的描述了父子关系,应该采用类来建模。例如苹果是一种水果,他们之间的关系就应该采用类的集成关系来建模。弱的is-a关系,也称为is-kind-of(是一类)关系,表明一个对象具有某种属性。弱的is-a关系可以使用接口来建模。例如所有的字符串都是可比较的,因此String类实现了comparable接口。
原文地址:https://www.cnblogs.com/cglib/p/11976339.html