23种设计模式

创建类型:5种

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

结构类型:7种

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

行为类型:11种

模式 核心优势 适用场景关键词
策略模式 避免条件分支,提升扩展性 动态算法替换
模板方法 复用代码结构,规范子类行为 固定流程框架
观察者 解耦事件源与订阅者 事件通知、发布订阅
迭代器 隐藏数据结构复杂性 统一遍历接口
责任链 动态组合处理节点 多级处理流程
命令模式 解耦请求与执行 可撤销操作、异步任务
备忘录 实现非破坏性回滚 状态快照管理
状态模式 消除复杂条件逻辑 行为依赖状态变化
访问者 扩展功能不修改原有类 结构稳定但操作多变
中介者 减少网状依赖关系 复杂对象交互协调
解释器 灵活支持领域规则 特定语法解析
相关推荐
come112347 分钟前
深入Spring Boot的核心——配置管理(指南四)
java·spring boot·后端
charlie11451419131 分钟前
精读C++20设计模式——结构型设计模式:代理模式
c++·学习·设计模式·代理模式·c++20·概论
武昌库里写JAVA1 小时前
Java 设计模式在 Spring 框架中的实践:工厂模式与单例模式
java·vue.js·spring boot·sql·学习
麦兜*1 小时前
Redis高可用架构设计:主从复制、哨兵、Cluster集群模式深度对比
java·数据库·spring boot·redis·spring·spring cloud·缓存
王嘉俊9251 小时前
Redis 入门:高效缓存与数据存储的利器
java·数据库·redis·后端·spring·缓存·springboot
王维1 小时前
【shardingsphere-jdbc】分表实践
java·数据库
道可到2 小时前
淘宝面试原题 Java 面试通关笔记 02|从编译到运行——Java 背后的计算模型(面试可复述版)
java·后端·面试
DKPT2 小时前
JVM如何管理直接内存?
java·笔记·学习
SimonKing2 小时前
GitHub 标星 370k!免费编程资源大合集,从此自学不花一分钱
java·后端·程序员
kfepiza2 小时前
Java的任务调度框架之Quartz 笔记250930
java·java ee