Java GoF 设计模式

2025年3月17日 | 阅读 3 分钟

这本书《设计模式:可重用面向对象软件的基础》包含 23 个设计模式,这些模式被归类为四人帮设计模式

一本关于理解设计模式的非常受欢迎的书于 1994 年首次出版。这本书由Erich Gamma, Richard Helm, Ralph JohnsonJohn Vlissides 撰写。由于有四位作者,它被命名为“四人帮设计模式”。此外,它还被简称为“GoF 设计模式”。

GoF 设计模式的类型

GoF 设计模式分为三类

创建型:处理对象创建的设计模式称为创建型模式。

结构型:这一类设计模式侧重于与类结构相关的组合和继承等概念。

行为型:行为型的设计模式提供了更好的对象间通信、松耦合和未来扩展灵活性的解决方案。

用于创建的设计

创建型设计模式类别包含 5 种模式。

模式名称描述
单例为了防止创建类的多个实例,单例模式会限制类的初始化。
工厂模式使用工厂模式,由一个 Factory 类而不是类本身负责创建新对象。
抽象工厂使用工厂类创建工厂,这是可能的。
Builder对象的逐步创建以及获取对象实例的方法。
原型从现有对象创建一个与原对象相似的全新对象实例,然后对其进行修改以满足我们的需求。

结构设计模式

四人帮设计模式书籍列出了 7 种结构设计模式。

模式名称描述
适配器它允许两个不兼容的实体进行交互,使它们能够协同工作。
复合当需要实现部分-整体层次结构时使用。例如,一个图可以由圆、正方形、三角形等其他元素组成。
Proxy用于限制对另一个对象的访问,创建其替代品或替身。
享元它利用不可变对象以及对象实例的缓存和重用。考虑字符串池。
外观它将现有接口封装在新接口中,以帮助客户端应用程序。
桥梁桥梁设计模式用于向客户端程序隐藏实际实现细节,并将其接口与其实现分离。
装饰器装饰器设计模式用于实时更改对象的功能。

行为设计模式

GoF 设计模式列出了十一种行为设计模式。

模式名称描述
模板方法通过使用模板方法将一些实现任务推迟到子类。
中介者中介者是一种设备,它在各种系统元素之间提供集中的通信通道。
责任链客户端的请求被发送到一系列对象进行处理,这是软件设计中用于促进松耦合的责任链技术的一部分。
观察者模式当您对对象的某个状态感兴趣,并希望在它发生变化时收到通知时,观察者模式非常有用。
策略模式当存在多种算法可用于特定任务,并且客户端在运行时选择实际使用的实现时,就会使用策略模式。
命令它用于在请求-响应模型中实现松耦合,使用命令模式。
状态当对象根据其内部状态改变其行为时,应用状态设计模式。
访问者当我们对一组相同类型的对象进行操作时,我们使用访问者模式。
解释器解释了如何表达一种语言的语法,并提供了一个解释器来处理它。
Iterator迭代器曾经用于提供一种通用的方法来遍历对象集合。
备忘录当我们想存储一个对象的状态以便以后恢复时,我们使用备忘录设计模式。

结论

编程中使用的基本设计模式的组基于四种模式。在这些设计模式之上,为满足各种需求构建了许多其他模式。


下一主题Java 编程认证