设计模式-23种设计模式的说法

"23种设计模式"这一经典分类最早系统性地提出是在1994年出版的著作 《Design Patterns: Elements of Reusable Object-Oriented Software》(中文译名:《设计模式:可复用面向对象软件的基础》)中。该书由四位作者------Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 共同撰写,他们也因此被称为"GoF"(Gang of Four,四人组)。

大多数平常用不到,但是有些经常可见。

比如策略模式,Strategy模式其实就是把方法(策略)当作可替换的变量传进去。将"行为"作为一等公民(first-class citizen)传入,比如传一个函数、lambda 表达式或接口实现。

参见:

每日知识-设计模式-状态机模式-掘金

每日知识-设计模式-观察者模式 - 掘金

这23种设计模式根据其目的和作用被分为三大类:


一、创建型模式(Creational Patterns)

关注对象的创建机制,帮助系统独立于对象的创建、组合和表示方式。

  • Abstract Factory(抽象工厂)
  • Builder(建造者)
  • Factory Method(工厂方法)
  • Prototype(原型)
  • Singleton(单例)

共 5 种


二、结构型模式(Structural Patterns)

处理类或对象的组合,以形成更大的结构,同时保持结构的灵活性和效率。

  • Adapter(适配器)
  • Bridge(桥接)
  • Composite(组合)
  • Decorator(装饰器)
  • Facade(外观)
  • Flyweight(享元)
  • Proxy(代理)

共 7 种


三、行为型模式(Behavioral Patterns)

关注对象之间的职责分配和通信机制,描述对象或类之间的交互与协作。

  • Chain of Responsibility(责任链)
  • Command(命令)
  • Interpreter(解释器)
  • Iterator(迭代器)
  • Mediator(中介者)
  • Memento(备忘录)
  • Observer(观察者)
  • State(状态)
  • Strategy(策略)
  • Template Method(模板方法)
  • Visitor(访问者)

共 11 种


总计:5 + 7 + 11 = 23 种设计模式

这些模式至今仍是面向对象软件设计中的重要参考,广泛应用于各种编程语言和框架中。

之前已经写过几种,后面慢慢补。

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu4 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白804 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙4 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发4 天前
软件工程SOLID 五大设计原则
后端·软件工程