23种设计模式

创建类型:5种

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

结构类型:7种

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

行为类型:11种

模式 核心优势 适用场景关键词
策略模式 避免条件分支,提升扩展性 动态算法替换
模板方法 复用代码结构,规范子类行为 固定流程框架
观察者 解耦事件源与订阅者 事件通知、发布订阅
迭代器 隐藏数据结构复杂性 统一遍历接口
责任链 动态组合处理节点 多级处理流程
命令模式 解耦请求与执行 可撤销操作、异步任务
备忘录 实现非破坏性回滚 状态快照管理
状态模式 消除复杂条件逻辑 行为依赖状态变化
访问者 扩展功能不修改原有类 结构稳定但操作多变
中介者 减少网状依赖关系 复杂对象交互协调
解释器 灵活支持领域规则 特定语法解析
相关推荐
Dest1ny-安全13 小时前
CTF 及网络安全相关平台汇总表
java·运维·服务器·python·安全·web安全
古城小栈13 小时前
Spring Bean初始化三种常用方式(详细易懂版)
java·数据库·spring
j***121513 小时前
Spring容器初始化扩展点:ApplicationContextInitializer
java·后端·spring
懒惰蜗牛13 小时前
Day65 | Java网络编程之TCP/IP协议
java·网络·tcp/ip·网络编程·osi七层模型·tcp/ip四层模型
k***825113 小时前
Spring注解
java·后端·spring
豆奶特浓613 小时前
谢飞机迎战金融风控面试:从Spring WebFlux、Elasticsearch到AI模型,他能扛住吗?
java·elasticsearch·微服务·ai·面试·spring webflux·金融风控
rabbit_pro13 小时前
Java 执行FFmpeg命令
java·开发语言·ffmpeg
Qiuner13 小时前
Spring Boot 机制三: ApplicationContext 生命周期与事件机制源码解析
java·spring boot·后端·生命周期·事件机制
李景琰13 小时前
JDK25 Scoped Values:为虚拟线程时代重构的线程上下文共享方案
java·jvm·重构
u***13713 小时前
Spring Cloud Gateway 整合Spring Security
java·后端·spring