设计模式-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 种设计模式

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

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

相关推荐
Lee川2 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
星浩AI4 小时前
OpenHuman 对比 OpenClaw、Hermes Agent
人工智能·后端·agent
小江的记录本4 小时前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
geovindu7 小时前
go: Semaphore Pattern
开发语言·后端·设计模式·golang·企业级信号量模式
IT_陈寒7 小时前
Redis内存用爆了,原来我们都忽略了这个配置
前端·人工智能·后端
武子康7 小时前
Java-02 深入浅出MyBatis 3 快速入门:环境配置、项目创建与 CRUD 操作
java·后端
未若君雅裁7 小时前
Spring Boot 自动配置原理与常用注解
java·spring boot·后端
Xiacqi18 小时前
Java数据库连接--JDBC--DRUID
数据库·后端
浮游本尊8 小时前
用结构化 Prompt 让大模型「干活」:以数据库巡检告警建议生成为例
后端
snakeshe10108 小时前
SpringBoot 多人协作平台实战(8):Cookie 与登录状态维持
后端