前言
设计模式是众多软件开发人员经过长时间的试错和应用总结出来的,解决特定问题的一系列方案。它同样也是程序员在设计应用程序或系统时可以用来解决常见问题的最佳形式化实践。 设计模式可以通过提供经过测试的、经过验证的开发范例来加速开发过程。 重用设计模式有助于防止导致重大问题的细微问题,并且还提高了熟悉这些模式的编码人员和架构师的代码可读性。可以参阅:设计模式
设计模式的分类
按照不同的业务领域和场景的复杂程度,以及选择不同的设计模式,在整个系统建设落地中都会有不同的呈现形式。
GoF设计模式有23个,但是它们各具特色 ,每个模式都为某一个可重复的设计问题提供了一套解决方案。根据它们的用途,分为创建型(Creational)、结构型(Structural)、行为型(Behavioral)。
创建型模式(5种)
- 概述:提供创建对象的机制,提升已有代码的灵活性和可复用性
- 常用模式:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
- 不常用模式:原型模式。
结构型模式(7种)
- 概述:如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效
- 常用模式:代理模式、桥接模式、装饰者模式、适配器模式
- 不常用模式:门面模式、组合模式、享元模式
行为模式(11种)
- 概述:负责对象间的高效沟通和职责传递委派
- 常用模式:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式
- 不常用模式:访问者模式、备忘录模式、命令模式、解释器模式、中介模式
小结
设计模式(Design Pattern)是这些前辈们对代码开发经验的总结,它是解决特定问题的一系列套路,是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
1995年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称“GoF设计模式”。