设计模式七大原则!
设计模式七大原则!
月伴飞鱼单一职责原则(Single Responsibility Principle)
一个类应该只负责一项职责。
- 如类A负责两个不同职责:职责1,职责2。
当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。
接口隔离原则(Interface Segregation Principle)
客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
- 大接口要分割成小接口,接口专用。
- 客户端使用专用接口。
依赖倒转原则(Dependency Inversion Principle)
高层模块不应该依赖低层模块,二者都应该依赖其抽象(接口或者抽象类)。
- 抽象不应该依赖细节,细节应该依赖抽象。
依赖倒转(倒置)的中心思想是面向接口编程。
里氏替换原则(Liskov Substitution Principle)
所有引用基类(父类)的地方必须能透明地使用其子类的对象。
- 把父类设计为抽象类或者接口。
- 子类必须实现父类的所有方法。
开闭原则(Open Closed Principle)
对扩展开放,对修改关闭。
- 使用接口和抽象类,实现不修改原代码,又可以拓展新方法。
迪米特法制(Demeter Principle)
一个对象应该对其他对象保持最少的了解。
一个实体应当尽量少的与其他实体之间发生相互作用。
- 依赖者只依赖该依赖的对象,被依赖者只暴露该暴露的对象。
合成复用原则(Composite Reuse principle)
尽量使用合成/聚合的方式,而不是使用继承。