设计模式类型

一、创建型模式

  1. 单例模式
    • 核心:确保类仅有一个实例,提供全局访问点。
    • 场景:数据库连接池避免频繁创建和销毁连接。
  2. 工厂模式
    • 核心:定义创建对象的接口,由子类决定实例化的类。
    • 场景:游戏开发中按需求创建不同类型武器。
  3. 抽象工厂模式
    • 核心:提供创建系列相关或依赖对象的接口,无需指定具体类。
    • 场景:游戏开发中创建不同风格场景下的对象。
  4. 建造者模式
    • 核心:将复杂对象构建与表示分离,同一构建过程可创建不同表示。
    • 场景:汽车制造中构建不同配置的汽车。
  5. 原型模式
    • 核心:通过拷贝原型实例创建新对象。
    • 场景:图形设计软件复制图形对象。

二、结构型模式

  1. 代理模式
    • 核心:为对象提供代理以控制对其的访问。
    • 场景:网络访问代理,如访问国外网站。
  2. 装饰器模式
    • 核心:动态给对象添加额外职责,比生成子类更灵活。
    • 场景:咖啡店中用调料装饰咖啡。
  3. 适配器模式
    • 核心:将类的接口转换为客户期望的接口,使不兼容的类能协作。
    • 场景:不同国家使用电器时的电源适配器。
  4. 桥接模式
    • 核心:分离抽象部分与实现部分,使其可独立变化。
    • 场景:图形绘制中使图形和颜色独立变化。
  5. 组合模式
    • 核心:将对象组合成树形结构表示 "部分 - 整体" 层次,统一操作单个和组合对象。
    • 场景:文件系统对文件夹和文件的统一操作。
  6. 外观模式
    • 核心:为子系统接口提供一致界面,方便使用。
    • 场景:智能家居系统通过统一接口控制多个设备。
  7. 享元模式
    • 核心:运用共享技术支持大量细粒度对象。
    • 场景:文字处理软件共享字符以减少内存占用。

三、行为型模式

  1. 观察者模式
    • 核心:定义对象间一对多依赖关系,对象状态改变时通知依赖对象更新。
    • 场景:社交媒体平台用户发布动态通知关注者。
  2. 模板方法模式
    • 核心:定义算法骨架,将部分步骤延迟到子类实现。
    • 场景:制作蛋糕时不同蛋糕按模板实现特定步骤。
  3. 命令模式
    • 核心:将请求封装为对象,可对请求进行参数化、排队、记录日志和撤销操作。
    • 场景:游戏中封装玩家操作并控制执行。
  4. 状态模式
    • 核心:对象内部状态改变时改变其行为。
    • 场景:电梯系统不同状态下行为不同。
  5. 职责链模式
    • 核心:多个对象处理请求,避免发送者和接收者耦合,请求沿链传递直到被处理。
    • 场景:公司请假流程中申请按领导职责链传递。
  6. 解释器模式
    • 核心:定义语言文法表示和解释器,解释语言句子。
    • 场景:编译器解析和解释编程语言语法。
  7. 中介者模式
    • 核心:用中介对象封装对象交互,降低耦合度。
    • 场景:机场空中交通管制系统协调飞机起降和飞行。
  8. 迭代器模式
    • 核心:提供顺序访问聚合对象元素的方法,不暴露内部表示。
    • 场景:Java 集合类通过迭代器遍历元素。
  9. 访问者模式
    • 核心:在不改变元素类的前提下定义作用于元素的新操作。
    • 场景:图形编辑软件用访问者对图形进行不同操作。
相关推荐
AI人工智能+电脑小能手14 小时前
大白话说Java设计模式-46-责任链模式(业务实战篇)
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
码匠许师傅1 天前
【设计模式精讲】7.建造者模式(Builder)
设计模式·建造者模式
码匠许师傅1 天前
【设计模式精讲】6.抽象工厂(Abstract Factory)
c++·设计模式
workflower2 天前
人形机器人灵巧手产业链
人工智能·设计模式·机器人·云计算·无人机
Java后端的Ai之路2 天前
03、Python - 抽象工厂模式
开发语言·python·设计模式·抽象工厂模式·通用智慧
AI人工智能+电脑小能手2 天前
大白话说Java设计模式-45-解释器模式(源码剖析篇)
java·设计模式·解释器模式·源码分析·pattern·spel·javacc
码匠许师傅2 天前
【设计模式精讲】4.单例模式(Singleton)
c++·单例模式·设计模式
雾削木2 天前
2026 编程领域热点知识速览:AI 辅助开发、设计模式实战与嵌入式高效迭代
人工智能·设计模式
AI人工智能+电脑小能手3 天前
大白话说Java设计模式-42-访问者模式(业务实战篇)
java·spring·设计模式·访问者模式·asm·营销规则·数据结构与操作分离
AI人工智能+电脑小能手3 天前
大白话说Java设计模式-43-访问者模式(源码剖析篇)
java·设计模式·访问者模式·源码分析·elementvisitor·asm classvisitor·spring spel