设计模式 7大原则
高内聚、低耦合
高内聚: 模块内部元素具有相同特点的相似程度。提供了更好的程序可靠性、可读性。
低耦合: 指的是模块之间的依赖程度。提供了更好的程序可扩展性和可复用性。
模块: 小到一个方法、一个接口、一个类,大到一个业务、一个功能,一个系统,都是模块
1. 单一职责原则(高内聚)
应该有且只有一个引起类变更的原因,一个类只干一件事儿。
好处:
1、提高代码的可读性,提高系统的可维护性。
2、降低类的复杂性,一个模块只负责一个职责,提高系统的可扩展性和可维护性。
3、降低变更引起的风险,变更是必然的,如果单一职责做的好,当修改一个功能的时候可以显著的降低对另一个功能的影响。
2.开放封闭原则
要求:
1、对功能扩展开放。
2、面向修改代码封闭。
3.依赖倒置原则
是实现开放封闭原则的基础。
要求:
1、高层模块(调用者)不应该依赖于低层模块(被调用者),两个都应该依赖于抽象。
2、抽象不应该依赖于细节,细节应该依赖于抽象。
本质:
通过抽象(接口或者抽象类)使各个类或模块的实现彼此独立互不影响,实现各个模块的低耦合。
4.里式替换原则
所有引用父类对象的地方,都可以用子类对象替换。
5.接口分离原则(低耦合)
要求:
1、客户端不应该依赖它不需要的接口。
2、一个类对另一个类的依赖应该建立在最小接口上。
3、接口尽量细分,不要在一个接口中放很多方法。
6.迪米特原则
要求:
1、一个对象应该对其他对象有最少的了解。(最少知识原则)
2、降低类之间的耦合。
3、迪米特法则实际上就是一个类在创建方法和属性时要遵守的法则。
只和直接朋友通信
直接朋友:
1、成员对象
2、方法参数
3、方法返回值
注意: 出现在局部变量中的类,不是直接朋友。
7.合成复用原则
要求:
1、尽量先使用组合或者聚合等关联关系来实现,其次才使用继承关系来实现。