设计模式[1]——分类&口诀

设计模式1------分类&口诀

设计模式(Design Patterns)主要指GoF(Gang of Four)提出的23种经典模式,按照目的分为三大类:创建型(Creational) (关注对象创建机制)、结构型(Structural) (关注类和对象的组合)、行为型(Behavioral)(关注对象间的交互和责任分配)。以下表格列出所有模式,按类别归纳,包含简要描述(言简意赅)。表格基于标准分类,便于对比。

类别 模式名称 简要描述
创建型 (Creational) (5种:处理对象创建,避免直接实例化) Abstract Factory (抽象工厂) 提供接口创建相关对象家族,而不指定具体类。
Builder (生成器) 分步构建复杂对象,分离构造与表示。
Factory Method (工厂方法) 定义接口创建对象,由子类决定实例化类。
Prototype (原型) 通过克隆现有对象创建新对象。
Singleton (单例) 确保类只有一个实例,并提供全局访问点。
结构型 (Structural) (7种:处理实体组合,形成更大结构) Adapter (适配器) 转换接口,使不兼容类能合作。
Bridge (桥接) 分离抽象与实现,可独立变化。
Composite (组合) 将对象组合成树形结构,表示部分-整体层次。
Decorator (装饰器) 动态添加职责,而不影响其他对象。
Facade (外观) 为子系统提供统一接口,简化访问。
Flyweight (享元) 共享细粒度对象,减少内存使用。
Proxy (代理) 为其他对象提供占位符,控制访问。
行为型 (Behavioral) (11种:处理算法、责任和通信) Chain of Responsibility (责任链) 沿处理者链传递请求,避免耦合。
Command (命令) 将请求封装为对象,支持撤销/队列。
Interpreter (解释器) 定义语言的文法,并解释句子。
Iterator (迭代器) 提供顺序访问集合元素,而不暴露内部。
Mediator (中介者) 定义对象交互中介,减少直接依赖。
Memento (备忘录) 捕获对象内部状态,支持恢复。
Observer (观察者) 定义一对多依赖,对象变化时通知他人。
State (状态) 允许对象在内部状态变化时改变行为。
Strategy (策略) 定义算法家族,可互换使用。
Template Method (模板方法) 定义算法骨架,子类实现步骤。
Visitor (访问者) 在不改变元素类前提下,定义新操作。

记忆口诀

创五构七行十一,
抽象建厂原单例;
适桥组装外享代,
责命解迭中备观,
状策模访莫遗忘。

  • 创五:创建型5种(抽象工厂、生成器、工厂方法、原型、单例)。
  • 构七:结构型7种(适配器、桥接、组合、装饰、外观、享元、代理)。
  • 行十一:行为型11种(责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者)。
相关推荐
workflower4 小时前
使用大语言模型处理用户需求
大数据·人工智能·设计模式·重构·动态规划
geovindu9 小时前
go: Generators Pattern
开发语言·后端·设计模式·golang·生成器模式
GuWenyue12 小时前
前端异步请求踩坑?3种方式搞定Ajax数据交互,从XHR到async/await
前端·javascript·设计模式
我登哥MVP14 小时前
走进 Gang of Four 设计模式:装饰器模式
java·spring boot·设计模式·装饰器模式
秋漓15 小时前
软件设计模式
设计模式
许彰午16 小时前
36_Java设计模式之代理模式
java·设计模式·代理模式
许彰午16 小时前
35_Java设计模式之工厂模式
java·开发语言·设计模式
uoKent16 小时前
项目整理——设计模式
设计模式·软件需求
折哥的程序人生 · 物流技术专研17 小时前
Java 23 种设计模式:从踩坑到精通 | 番外:编排器+策略模式在多平台电子面单中的实战(含性能压测)
设计模式·策略模式·代码重构·java设计模式·编排器·电子面单·从踩坑到精通
YXLY25281 天前
庭院大门选型方案:铝艺大门的五大设计模式与六大性能优势分析
设计模式