设计模式[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种(责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法、访问者)。
相关推荐
sg_knight1 小时前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式
吐个泡泡v2 小时前
Python 开发“设计模式”指南
python·设计模式
程序员小寒3 小时前
JavaScript设计模式(一):单例模式实现与应用
javascript·单例模式·设计模式
砍光二叉树3 小时前
【设计模式】创建型-原型模式
设计模式·原型模式
helloworddm3 小时前
第一篇:设计模式在 Android 视频播放器中的实战应用
android·设计模式·音视频
砍光二叉树4 小时前
【设计模式】创建型-建造者模式
设计模式·建造者模式
RFCEO1 天前
JavaScript基础课程十四、原型与原型链(JS 核心底层)
开发语言·原型模式·prototype原型详解·javascript基础课·构造函数原型方法定义与使用·js原型链继承机制入门·t原型链顶层null原理
szm02251 天前
设计模式-
设计模式
砍光二叉树1 天前
【设计模式】创建型-抽象工厂模式
设计模式·抽象工厂模式
砍光二叉树1 天前
【设计模式】创建型-工厂方法模式
设计模式·工厂方法模式