23种设计模式

创建类型:5种

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

结构类型:7种

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

行为类型:11种

模式 核心优势 适用场景关键词
策略模式 避免条件分支,提升扩展性 动态算法替换
模板方法 复用代码结构,规范子类行为 固定流程框架
观察者 解耦事件源与订阅者 事件通知、发布订阅
迭代器 隐藏数据结构复杂性 统一遍历接口
责任链 动态组合处理节点 多级处理流程
命令模式 解耦请求与执行 可撤销操作、异步任务
备忘录 实现非破坏性回滚 状态快照管理
状态模式 消除复杂条件逻辑 行为依赖状态变化
访问者 扩展功能不修改原有类 结构稳定但操作多变
中介者 减少网状依赖关系 复杂对象交互协调
解释器 灵活支持领域规则 特定语法解析
相关推荐
就叫_这个吧16 分钟前
Java递归方法实现面包屑导航
java·开发语言
fīɡЙtīиɡ ℡32 分钟前
AI 应用系统设计
java·开发语言·人工智能
城管不管40 分钟前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
码匠许师傅40 分钟前
【C++ 面试真题】26. 聊聊 C++ 的智能指针
java·c++·面试
AI绘画哇哒哒1 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
最强小杰2 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
吠品4 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
亚历克斯神5 小时前
智能搜索系统的升级复盘——从 Elasticsearch 到混合检索的检索质量提升
java·spring·微服务
金銀銅鐵5 小时前
[Java] 一个方法最多可以有多少个入参?
java·jvm
哭哭啼6 小时前
JAVA服务问题诊断
java·开发语言·jvm