java & 模式

 抽象化和继承关系使概念和定义可以复用;多态性使实现和应用可以复用;

 

开闭原则(Open-Closed Principle OCP)一个软件实体应当对扩展开放,对修改封闭。

对可变性的封装原则(Principle of Encapsulation of Variation) (1)一种变化性不和另一种混合在一起 (2)一种可变性不应散落在代码的很多地方。

里氏代换原则(Liskov Substitution Principle):任何基类出现的地方,子类一定可以出现。

依赖倒转原则(Dependence Inversion):要依赖于抽象,不要依赖于实现。

组合/聚合复用原则( Composite/Aggregate Reuse Principle):尽可能使用组合/聚合,而不是继承关系。

迪米特法则:一个软件实体应尽可能少地和其他软件实体发生关系。

接口隔离原则(Interface Segregation Principle):向客户端提供尽可能小的独立的接口,而不是大的总接口。

 

Coad原则,什么时候使用继承复用?

(1)子类是超类的一个特殊种类,不是超类的一个角色,区分Is-a,Has-a

(2)子类扩展超类职责,而不是换掉。

(3)永远不会出现需要将子类换成另一个类的子类的情况。

(4)只用分类学上有意义时,才使用继承,不要从工具类继承。

 

几个工厂模式解决对象创建过程中的依赖倒转原则。

 

抽象类的用途:

(1)具体类不是用来继承的,尽量从抽象类继承。

(2)抽象类拥有尽可能多的代码和尽可能少的数据

 

你可能感兴趣的:(java,interface,扩展,工具)