设计模式折腾大纲
六大原则
单一职责原则(Single Responsibility Principle,简称SRP )
核心思想:应该有且仅有一个原因引起类的变更
里氏替换原则(Liskov Substitution Principle,简称LSP)
在使用基类的的地方可以任意使用其子类,能保证子类完美替换基类。
依赖倒置原则(Dependence Inversion Principle,简称DIP)
定义:
- 高层模块不应该依赖底层模块,二者都该依赖其抽象;
- 抽象不应该依赖细节;细节应该依赖抽象;
接口隔离原则(Interface Segregation Principle,简称ISP)
类间的依赖关系应该建立在最小的接口上
迪米特法则(Law of Demeter,简称LoD)
定义:
- Each unit should have only limited knowledge about other units: only units "closely" related to the current unit.
- Each unit should only talk to its friends; don't talk to strangers.
- Only talk to your immediate friends.
开放封闭原则(Open Close Principle,简称OCP)
尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化
23种设计模式
创建型模式
- 单例模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 原型模式
结构型模式
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式
行为型模式
- 访问者模式
- 模板模式
- 策略模式
- 状态模式
- 观察者模式
- 备忘录模式
- 中介者模式
- 迭代器模式
- 解释器模式
- 命令模式
- 责任链模式