在学习设计模式之前应该了解设计模式的七大原则。
- 单一职责原则
- 接口隔离原则(isp)
- 抵赖倒置原则(dip)
- 里氏替换原则(lsp)
- 开闭原则(ocp)
- 迪米特法则(dp)
- 合成复用原则(crp)
单一职责原则
- 当职责1发生改变时会影响到其他职责执行错误,
- 即一个类应该只负责一项职责。(注意:在方法级别上也是遵守了单一职责原则)
- 总结:一个类只做一件事,或者一个方法只做一件事。
接口隔离原则
- 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
- 应该将接口进行拆分为几个独立的接口,类A和类C分别依赖它们所需要的接口建立依赖关系。
- 总结:一个类应该依赖的是最小接口,需要对接口进行拆分。
抵赖倒置原则
- 抽象不应该依赖细节,细节应该依赖抽象。
- 中心思想是面向接口编程,遵循里氏替换原则。
- 传递依赖的三种方式:
- 接口传递
- 构造方法传递
- setter传递
里氏替换原则
- 使用继承会给程序带来侵入性,可以采用里氏替换原则来规避。
- 所有的引用基类的地方必须能够透明的使用其子类的对象
- 子类中尽量不要重写父类的方法
开闭原则
- 扩展开放,修改关闭
- 抽象
迪米特法则
- 最少知道
合成复用原则
- 能组合就尽量不使用继承