← 返回首页
常考设计模式

设计模式与构件复用

综合知识考定义,案例分析考用法。必背:23 个模式分类、构件 5 步开发流程

常考 分值 5~15

一、23 个设计模式分类(GoF) ⭐⭐⭐

必背口诀

创建型 5 个:工厂 · 抽象工厂 · 单例 · 建造者 · 原型

结构型 7 个:适配器 · 桥接 · 组合 · 装饰 · 外观 · 享元 · 代理

行为型 11 个:责任链 · 命令 · 解释器 · 迭代器 · 中介者 · 备忘录 · 观察者 · 状态 · 策略 · 模板 · 访问者

总记:"5 + 7 + 11 = 23"

1. 创建型(关注 对象创建)

模式意图关键词
工厂方法 Factory Method定义创建接口,子类决定实例化多态创建
抽象工厂 Abstract Factory创建一族相关对象产品族
单例 Singleton唯一实例全局唯一
建造者 Builder分步构建复杂对象分离构造与表示
原型 Prototype通过克隆创建clone()

2. 结构型(关注 类/对象组合)

模式意图关键词
适配器 Adapter转换接口插头转换
桥接 Bridge分离抽象与实现两个维度独立扩展
组合 Composite树形结构统一对待叶子和组合
装饰 Decorator动态加职责替代继承的扩展
外观 Facade子系统统一入口简化复杂调用
享元 Flyweight共享细粒度对象对象池
代理 Proxy访问控制远程/虚拟/保护

3. 行为型(关注 对象交互)

模式意图关键词
责任链 CoR请求沿链传递多个处理器
命令 Command封装请求为对象可撤销
解释器 Interpreter解释语言规则引擎
迭代器 Iterator顺序访问聚合遍历
中介者 Mediator对象间通信中介降低耦合
备忘录 Memento保存对象状态恢复
观察者 Observer一对多通知发布订阅
状态 State状态改变行为状态机
策略 Strategy可互换算法多算法切换
模板方法 Template骨架 + 钩子父类定步骤
访问者 Visitor对结构外操作双重分派

二、模式选择速查(案例必备)

需求场景推荐模式
只能有一个实例(配置/连接池)单例
不同条件创建不同对象工厂方法 / 抽象工厂
统一接口对接不同第三方适配器
多个对象监听一个对象变化观察者
多种算法/支付/排序可切换策略
权限校验、日志、缓存代理 / 装饰
请求经多个处理器逐级处理责任链
简化复杂子系统调用外观
状态多变的对象状态机
分步构建复杂对象建造者

三、构件复用 / CBSD ⭐⭐

构件(Component)

系统中具有 独立功能、明确接口、可独立部署 的软件单元。

构件 3 大特征

CBSD 开发流程

  1. 构件获取
  2. 构件管理
  3. 构件分类与检索
  4. 构件复用
  5. 构件组装

主流构件标准

四、答题模板

题型:你的项目用了哪些设计模式?(论文常用)

"在 XX 项目中,我采用了以下设计模式:

① 工厂模式 创建不同支付通道,新增支付方式无需改主流程;

② 策略模式 切换不同折扣算法,降低 if/else 复杂度;

③ 观察者模式 实现订单状态变更通知库存、物流、积分;

④ 代理模式 实现 AOP,统一处理日志、权限、限流;

⑤ 单例模式 管理数据库连接池、配置加载。

这些模式提升了系统的 可维护性、可扩展性、可复用性。"

📘 常考补充 · 设计模式 完