23中设计模式

1、23中设计模式

创建型 结构型 行为型
工厂方法 (Factory Method) 适配器 (Adapter) 模板方法 (Template Method)、解释器 (Interpreter)
对象 抽象工厂 (Abstract Factory) 桥接 (Bridge) 策略 (Strategy)
对象 原型 (Prototype) 组合 (Composite) 命令 (Command)
对象 单例 (Singleton) 装饰 (Decorator) 职责链 (Chain of Responsibility)
对象 建造者 (Builder) 外观 (Facade) 状态 (State)
对象 享元 (Flyweight) 观察者 (Observer)
对象 代理 (Proxy) 中介者 (Mediator)
对象 迭代器 (Iterator)
对象 访问者 (Visitor)
对象 备忘录 (Memento)

2、设计模式详解

  • 创建型
  1. 工厂方法 (Factory Method),创建型类,定义创建对象的接口,子类决定实例化哪个类
  2. 抽象工厂 (Abstract Factory),创建型对象,创建一系列相关或相互依赖的对象族
  3. 原型 (Prototype),创建型对象,通过复制现有实例来创建新对象
  4. 单例 (Singleton),创建型对象,确保一个类只有一个实例,并全局访问
  5. 建造者 (Builder),创建型对象,分步创建复杂对象,构建与表示分离
  • 结构型
  1. 适配器 (Adapter),结构型类/对象,使接口不兼容的类可以一起工作(类适配器用继承,对象适配器用组合)
  2. 桥接 (Bridge),结构型对象,抽象与实现解耦,使两者可独立变化
  3. 组合 (Composite),结构型对象,将对象组织成树形结构表示"部分-整体"层次
  4. 装饰 (Decorator),结构型对象,动态地为对象附加额外职责
  5. 外观 (Facade),结构型对象,为子系统提供统一的简化接口
  6. 享元 (Flyweight),结构型对象,共享细粒度对象,减少内存占用
  7. 代理 (Proxy),结构型对象,为另一个对象提供替身以控制访问
  • 行为型
  1. 模板方法 (Template Method),行为型类,在父类定义算法骨架,子类实现具体步骤
  2. 解释器 (Interpreter),行为型类,定义文法及解释器,用于特定语言解析
  3. 策略 (Strategy),行为型对象,定义一系列算法,使它们可互相替换
  4. 命令 (Command),行为型对象,将请求封装成对象,支持撤销/重做/队列
  5. 职责链 (Chain of Responsibility),行为型对象,多个对象链式处理请求,直到有对象处理
  6. 状态 (State),行为型对象,对象内部状态改变时改变其行为
  7. 观察者 (Observer),行为型对象,对象间一对多依赖,状态变化时自动通知
  8. 中介者 (Mediator),行为型对象,封装对象间交互,减少直接耦合
  9. 迭代器 (Iterator),行为型对象,顺序访问聚合对象元素而不暴露内部结构
  10. 访问者 (Visitor),行为型对象,在不改变元素类的前提下定义新操作
  11. 备忘录 (Memento),行为型对象,捕获并外部化对象内部状态,以便恢复

如您在阅读中发现不足,欢迎留言!!!

相关推荐
Zane199413 小时前
一个 new 就能创建对象,为什么还要拆出单例、工厂、建造者、原型四种模式?
设计模式
怕浪猫1 天前
一行命令复刻爆款视频,我把 Hypit 从安装跑到了出片
人工智能·设计模式·程序员
Zane19942 天前
函数式编程里的函数,其实不是你天天写的那个函数——三大编程范式的边界在哪
设计模式
Zane19943 天前
策略模式现在该不该上?一次讲清楚过度设计和设计不足怎么找平衡
设计模式
她说..3 天前
常见设计模式-模板方法模式
java·spring·设计模式·springboot
xiaofeiyang1503 天前
第六章 · 桥接 — 三支毛笔,画出九种颜色
设计模式
Shadow(⊙o⊙)4 天前
OTOL设计模式 One Thread One Loop
服务器·网络·设计模式
sarasuki4 天前
如何让LLM 能在半夜偷偷打开网易云呢?
人工智能·设计模式·agent
小王师傅664 天前
【设计模式】装饰模式(四):框架源码实战——从 Java I/O 到 Spring 到 MyBatis
java·设计模式
执明wa4 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio