一、 设计模式的目的
- 重用性
- 可读性
- 扩展性(便于新增功能)
- 可靠性(新增功能不会影响已有功能)
- 高内聚,即尽量使用自类的属性
- 低耦合,即尽量避免引用
二、 七大原则
7. 单一职责
一个类或者一个方法只负责一项职责。
8. 接口隔离
接口也应遵守单一职责原则,如果不需要实现所有接口,则拆分接口。
9. 依赖倒置
抽象:接口/抽象类
细节:实现类
1. 父类不依赖子类,但都需要依赖抽象
2. 抽象不依赖细节
3. 设计抽象,不添加任何的操作
4. 实现细节,遵守抽象的规范
10. 里氏替换
子类可以重写父类的方法,但不要改变父类的方法。所有父类可以用子类替换。
11. 开闭原则
对扩展开放(提供方),对修改关闭(使用方)。
1. 对可能需要扩展的类/方法/字段开放,利用抽象类/接口/pubic
2. 对不想让使用方修改的类/方法/字段关闭,利用final/private
12. 迪米特法则
1. 最少知道原则:只利用public方法
2. 只与直接上下级通信
3. 如果需要用到陌生朋友,在直接朋友中定义方法, 通过参数访问,并不能暴露私有属性
4. 直接朋友:成员变量,方法参数,方法返回值
5. 陌生的朋友:局部变量实例化的对象
13. 合成复用
使用合成/聚合,而不使用继承