23种设计模式

创建类型:5种

设计模式 核心优势 适用场景关键词
单例 控制实例数量,减少内存开销 全局唯一、资源复用
工厂方法 解耦创建与使用,支持开闭原则 动态扩展、子类决策
抽象工厂 统一接口管理关联对象 产品族创建、跨平台兼容
建造者 构造过程灵活,代码可读性高 分步构建、复杂对象配置
原型 提升性能,简化对象生成流程 高效克隆、避免重复初始化成本

结构类型:7种

模式 核心优势 场景关键词
代理 隐藏细节,增强非功能性需求 访问控制、延迟加载、安全增强
适配器 无缝对接不同接口标准 接口兼容、旧系统整合
桥接 独立变化维度,降低耦合度 多维度扩展、抽象与实现分离
装饰器 灵活叠加功能,避免继承膨胀 动态扩展功能、AOP增强
外观 降低子系统使用复杂度 简化调用、统一入口
组合 统一处理整体与部分的关系 树形结构、递归操作
享元 减少内存占用,提升性能 对象复用、资源优化

行为类型:11种

模式 核心优势 适用场景关键词
策略模式 避免条件分支,提升扩展性 动态算法替换
模板方法 复用代码结构,规范子类行为 固定流程框架
观察者 解耦事件源与订阅者 事件通知、发布订阅
迭代器 隐藏数据结构复杂性 统一遍历接口
责任链 动态组合处理节点 多级处理流程
命令模式 解耦请求与执行 可撤销操作、异步任务
备忘录 实现非破坏性回滚 状态快照管理
状态模式 消除复杂条件逻辑 行为依赖状态变化
访问者 扩展功能不修改原有类 结构稳定但操作多变
中介者 减少网状依赖关系 复杂对象交互协调
解释器 灵活支持领域规则 特定语法解析
相关推荐
高兴达10 分钟前
Spring boot入门工程
java·spring boot·后端
萧曵 丶12 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
笑衬人心。12 分钟前
HTTPS详解:原理 + 加解密过程 + 面试问答
java·网络协议·http·面试·https
蓝澈112114 分钟前
弗洛伊德(Floyd)算法-各个顶点之间的最短路径问题
java·数据结构·动态规划
再见晴天*_*23 分钟前
logback 日志不打印
java·服务器·logback
幽络源小助理31 分钟前
SpringBoot基于JavaWeb的城乡居民基本医疗信息管理系统
java·spring boot·学习
欧阳有财34 分钟前
[java八股文][Mysql面试篇]日志
java·mysql·面试
TDengine (老段)43 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
真实的菜1 小时前
JVM类加载系统详解:深入理解Java类的生命周期
java·开发语言·jvm
N_NAN_N1 小时前
类图+案例+代码详解:软件设计模式----原型模式
java·设计模式·原型模式