基础记忆表分类模式名称英文核心作用关键字说明创建型模式5 种工厂方法模式Factory Method定义创建对象的接口让子类决定实例化哪个类子类决定实例化抽象工厂模式Abstract Factory提供创建一系列相关 / 依赖对象的接口抽象接口原型模式Prototype通过复制已有对象创建新对象原型实例、拷贝单例模式Singleton保证一个类只有一个实例并提供全局访问点唯一实例构建器模式Builder将复杂对象的构建与表示分离类和构造分离结构型模式7 种适配器模式Adapter将一个类的接口转换成客户期望的另一个接口转换/兼容/接口桥接模式Bridge将抽象与实现分离使它们可以独立变化抽象和实现分离组合模式Composite用树形结构表示 “整体 - 部分” 关系整体-部分树形结构装饰模式Decorator动态给对象添加额外职责附加职责外观模式Facade为子系统中的一组接口提供统一的高层接口对外统一接口享元模式Flyweight复用对象减少创建和内存占用细粒度共享代理模式Proxy为其他对象提供一个代理以控制访问代理控制行为型模式11 种职责链模式Chain of Responsibility让请求沿着处理链传递解耦发送者与接收者传递请求职责连接命令模式Command将请求封装为对象支持撤销、排队等日志记录可撤销解释器模式Interpreter定义语言文法的表示并解释其句子解释器虚拟机迭代器模式Iterator提供一种方式遍历聚合对象不暴露内部结构顺序访问不暴露内部中介者模式Mediator用中介对象封装一组对象的交互不直接引用备忘录模式Memento在不破坏封装的前提下保存对象的状态保存恢复观察者模式Observer定义对象间一对多的依赖关系状态改变时通知所有依赖者通知自动更新状态模式State允许对象在内部状态改变时改变其行为状态变成类策略模式Strategy定义一系列算法将每个算法封装并可互换算法替换模板方法模式Template Method定义算法骨架将部分步骤延迟到子类实现访问者模式Visitor表示作用于对象结构中各元素的操作数据和操作分离常出考点前几个四星的必须记住。模式名称考频核心定义高频场景易错点 / 考点策略模式Strategy⭐⭐⭐⭐⭐定义一系列算法封装并可互换算法动态切换如不同的排序算法、支付方式核心是 “算法族”与模板方法的区别观察者模式Observer⭐⭐⭐⭐⭐定义一对多依赖状态改变时通知所有依赖者事件监听、消息推送如 MVC 中的模型 - 视图推模式 vs 拉模式解耦主题与观察者模板方法模式Template Method⭐⭐⭐⭐⭐定义算法骨架部分步骤延迟到子类固定流程、步骤可变的场景如考试流程、数据解析类模式依赖继承钩子方法的作用职责链模式Chain of Responsibility⭐⭐⭐⭐让请求沿处理链传递解耦发送者与接收者多级审批、日志处理、过滤器链链的顺序与终止条件避免循环引用状态模式State⭐⭐⭐⭐对象状态改变时改变其行为状态机场景如订单状态待支付 / 已发货 / 已完成用状态类替代大量 if-else与策略模式的区别迭代器模式Iterator⭐⭐⭐提供遍历聚合对象的方式不暴露内部结构集合遍历如 Java 的 Iterator 接口与聚合对象的关系支持不同遍历方式命令模式Command⭐⭐⭐将请求封装为对象支持撤销、排队操作记录、撤销 / 重做如编辑器的操作历史命令对象的封装接收者与调用者解耦备忘录模式Memento⭐⭐⭐不破坏封装的前提下保存对象状态快照功能如游戏存档、文本编辑器的撤销备忘录的访问控制发起人 - 备忘录 - 管理者结构中介者模式Mediator⭐⭐⭐用中介对象封装一组对象的交互多对象交互复杂的场景如聊天室、机场调度减少对象间的直接耦合中介者的复杂度控制访问者模式Visitor⭐⭐⭐定义作用于对象结构元素的操作稳定的数据结构、易变的操作如编译器的语法树双重分派开闭原则的反向应用解释器模式Interpreter⭐⭐定义语言文法并解释其句子简单语法解析如正则表达式、脚本语言文法规则的抽象适用于简单文法策略模式定义定义一系列算法封装并可互换实现算法动态切换(如不同排序算法、支付方式)。观察者模式看模型就行。