设计模式[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种(责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者)。
相关推荐
方见华Richard5 分钟前
递归对抗引擎RAE:世毫九重构AGI底层逻辑的终极范式与全维度价值极致解读
人工智能·交互·学习方法·原型模式·空间计算
三水不滴16 分钟前
23种设计模式
经验分享·笔记·设计模式
凯尔萨厮34 分钟前
软件23种设计模式(学习笔记)
笔记·学习·设计模式
短剑重铸之日36 分钟前
《设计模式》第八篇:三大类型之创建型模式
java·后端·设计模式·创建型设计模式
短剑重铸之日14 小时前
《设计模式》第六篇:装饰器模式
java·后端·设计模式·装饰器模式
茶本无香17 小时前
设计模式之十二:模板方法模式Spring应用与Java示例详解
java·设计模式·模板方法模式
方见华Richard1 天前
世毫九:思维是意义空间的几何运动的详细推导过程
人工智能·交互·学习方法·原型模式·空间计算
wangmengxxw1 天前
设计模式 -详解
开发语言·javascript·设计模式
进击的小头1 天前
设计模式落地的避坑指南(C语言版)
c语言·开发语言·设计模式
短剑重铸之日1 天前
《设计模式》第五篇:策略模式
java·后端·设计模式·策略模式