资讯动态

GoF 23种设计模式

发布时间:2026/10/16 15:56:49 来源:尧图企业网站定制
面向对象的设计模式通常指由 GoFGang of Four提出的 23 种经典设计模式。这些模式根据其解决问题的侧重点主要分为以下三大类 [1]1. 创建型模式 (Creational Patterns)这类模式关注“如何创建对象”旨在将对象的创建与使用分离增加系统的灵活性。 [1, 2]单例模式 (Singleton)确保一个类只有一个实例并提供全局访问点。工厂方法模式 (Factory Method)定义一个创建对象的接口让子类决定实例化哪一个类。抽象工厂模式 (Abstract Factory)创建相关或依赖对象的家族而无需明确指定具体类。建造者模式 (Builder)将一个复杂对象的构建与其表示分离使得同样的构建过程可以创建不同的表示。原型模式 (Prototype)通过通过复制克隆现有的实例来创建新的实例。 [2, 3, 4]2. 结构型模式 (Structural Patterns)这类模式关注“类和对象的组合”通过组合接口或定义对象组合来获得新的功能。 [1, 4]适配器模式 (Adapter)将一个类的接口转换成客户希望的另一个接口。装饰器模式 (Decorator)动态地给一个对象添加一些额外的职责比生成子类更为灵活。代理模式 (Proxy)为其他对象提供一种代理以控制对这个对象的访问。外观模式 (Facade)为子系统中的一组接口提供一个一致的界面。桥接模式 (Bridge)将抽象部分与它的实现部分分离使它们都可以独立地变化。组合模式 (Composite)将对象组合成树形结构以表示“部分-整体”的层次结构。享元模式 (Flyweight)通过共享技术有效地支持大量细粒度的对象。 [2, 4]3. 行为型模式 (Behavioral Patterns)这类模式关注“对象之间的通信”即对象如何交互以及如何分配职责。 [1, 4]策略模式 (Strategy)定义一系列算法把它们一个个封装起来并使它们可相互替换。观察者模式 (Observer)对象间的一对多依赖关系当一个对象状态改变时所有依赖者都会收到通知。模板方法模式 (Template Method)在操作中定义算法的骨架而将一些步骤延迟到子类中。迭代器模式 (Iterator)提供一种方法顺序访问一个聚合对象中各个元素而又不暴露该对象的内部表示。责任链模式 (Chain of Responsibility)通过给多个对象处理请求的机会减少请求发送者和接收者之间的耦合。状态模式 (State)允许一个对象在其内部状态改变时改变它的行为。命令模式 (Command)将请求封装成对象从而使你可用不同的请求对客户进行参数化。备忘录模式 (Memento)在不破坏封装性的前提下捕获一个对象的内部状态并在对象之外保存。中介者模式 (Mediator)用一个中介对象来封装一系列的对象交互。解释器模式 (Interpreter)给定一个语言定义它的文法的一种表示。访问者模式 (Visitor)表示一个作用于某对象结构中的各元素的操作。 [2, 4, 5, 6][1] https://blog.csdn.net[2] https://cloud.tencent.com[3] https://www.cnblogs.com[4] https://developer.aliyun.com[5] https://zhuanlan.zhihu.com[6] https://juejin.cn[7] https://www.runoob.com[8] https://refactoringguru.cn

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑