分类
共二十三种
创建型模式,共五种:
- 工厂方法模式、
- 抽象工厂模式、
- 单例模式、
- 建造者模式、
- 原型模式。
结构型模式,共七种:
- 适配器模式、
- 装饰器模式、
- 代理模式、
- 外观模式、
- 桥接模式、
- 组合模式、
- 享元模式。
行为型模式,共十一种:
- 策略模式、
- 模板方法模式、
- 观察者模式、
- 迭代子模式、
- 责任链模式、
- 命令模式、
- 备忘录模式、
- 状态模式、
- 访问者模式、
- 中介者模式、
- 解释器模式。
六大原则
- 开闭原则:对扩展开放,对修改关闭。可以在不修改其源代码的情况下进行扩展。
- 里氏替换原则:任何基类可以出现的地方,子类也可以出现。子类应该完全遵循基类的约定,不改变基类的功能和语义,也不破坏基类与其他类的协作关系。
- 依赖倒置原则:要依赖于抽象,而不是依赖于具体。
- 接口隔离原则:使用多个专门的接口,而不使用单一的总接口。
- 迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。一个对象应该尽量减少与其他对象的交互,只与它的直接关联对象进行通信。
- 合成复用原则:尽量使用合成/聚合的方式,而不是使用继承的方式来达到复用的目的。在设计类的时候,应该优先考虑将其他类作为自己的成员变量或者组合关系,而不是通过继承关系来扩展自己的功能。这样可以避免继承带来的层次复杂性和脆弱性,提高类的稳定性和灵活性。
单一职责原则 SRP
单一职责原则 SRP:Single responsibility principle