Appearance
模式对比与选型
易混组合
| 对比 | 说明 |
|---|---|
| 策略 vs 状态 | 类图像:策略由客户端注入;状态由上下文在转移规则下切换。 |
| 装饰器 vs 代理 | 装饰器嵌套增强功能;代理控制访问(延迟加载、权限)。 |
| 桥接 vs 策略 | 桥接分离抽象与实现两个维度;策略替换单一算法。 |
| 简单工厂 vs 工厂方法 | 简单工厂一个类里分支;工厂方法子类决定创建哪种产品。 |
| 外观 vs 中介者 | 外观单向简化子系统调用;中介者协调多同事双向通信。 |
选型思路
- 问题是否是「创建」:控制实例个数→单例;步骤复杂→建造者;一族产品→抽象工厂。
- 问题是否是「组合结构」:树形→组合;统一接口适配旧类→适配器。
- 问题是否是「行为分配」:多算法互换→策略;一对多通知→观察者;请求封装排队撤销→命令。
时序示例(责任链 vs 观察者)
更多速查见 附录速查表。
下一节:Spring常用设计模式