GoF23种设计模式总结
2023-03-28 17:43:55
关于GoF设计模式前一篇文章简要介绍了概念,GoF是基于面向对象语言开发的23种设计标准,GoF23种设计模式广泛应用于面向对象语言的项目开发。下面就对GoF简单总结一下23种设计模式。
根据设计模式划分工作目的来划分,用该方法可分为创建模式、结构模式和行为模式3种:
描述创建模式:“如何创建对象”,它的主要特点是“将对象的创建和使用分开”。GoF提供了五种创建模式,包括单例、原型、工厂方法、抽象工厂和建造者;
结构模式:用于描述如何根据某种布局形成类或对象的更多结构,GoF提供代理、适配器、桥接、装饰、外观、享元、组合等7种结构模式;
行为模式:描述如何相互合作,共同完成单个对象无法单独完成的任务,以及如何分配责任。GoF提供了11种行为模式,如模板方法、策略、命令、职业链、状态、观察者、中介、迭代器、访问者、备忘录、解释器等。
具体列举GoF23种设计模式:
1、单例模式:某一类只能有一个例子,提供一个全球访问点。GoF单例设计模式它将是未来使用频率最高的设计模式。
2、简单工厂:一个工厂类决定根据介绍的参数创建产品类别的例子。
3、工厂方法:定义创建对象的界面,让子类决定实例类。
4、抽象工厂:创建相关或依赖对象的家庭,而无需明确指定具体类别。
5、建造者模式:包装复杂对象的施工过程,并可按步骤施工。
6、原型模式:通过复制现有的例子来创建新的例子。
7、适配器模式:将一个类的方法界面转换为客户想要的另一个界面。
8、组合模式:将对象组合成树形结构来表示“”部分-整体“”层次结构。
9、装饰模式:动态向对象添加新功能。
10、代理模式:为其他对象提供代理,以控制对象的访问。
11、亨元(蝇量)模式:通过共享技术有效支持大量细粒度的对象。
12、外观模式:为访问子系统中的一组接口提供统一的方法。
13、桥接模式:将抽象部分与实现部分分离,使其独立变化。
14、模板模式:定义算法结构,并将某些步骤延迟到子类实现。
15、解释器模式:给定一种语言,定义它的文法表达,并定义解释器。
16、战略模式:定义一系列算法,包装它们,使它们相互替换。
17、状态模式:允许对象在对象内部状态发生变化时改变其行为。
18、观察者模式:对象之间的一对多依赖。
19、备忘录模式:在不破坏包装的情况下,保持对象的内部状态。
20、中介模式:用中介对象包装一系列对象交互。
21、命令模式:将命令请求封装为一个对象,使用不同的请求进行参数化。
22、访问者模式:增加作用于一组对象元素的新功能,而不改变数据结构。
23、责任链模式:解耦请求的发送者和接收者,使多个对象有机会处理此请求。