设计模式,即Design Patterns,在软件设计中,被反复使用的一种代码设计经验。 使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性,设计模式主要是基于OOP编程提炼的,它基于以下几个原则
- 对接口编程而不是对实现编程
- 优先使用对象组合而不是基础
设计模式这个术语是上个世纪90年代由Erich Gamma、Richard Helm、Raplh Johnson和Jonhn Vlissides四个人总结提炼出来的,并且写了一本Design Patterns的书。这四人也被称为四人帮(GoF)
软件对扩展开放,对修改关闭,这里的意思是在增加新功能的时候,能不改代码就尽量不要改,如果只增加代码就完成了新功能,那是最好的。
即如果我们调用一个父类的方法可以成功,那么替换成子类调用也应该完全可以运行
GoF把23个常用模式分为创建型模式、结构型模式和行为型模式三类
- 创建型模式
- 结构型模式
- 行为型
分类 | 包含 |
---|---|
创建型模式 | 工厂方法、抽象工厂、建造者、原型、单例 |
结构型模式 | 适配器模式、桥接、组合、装饰器、外观、享元、代理 |
行为型 | 责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模版方法、访问者 |