结构型模式
本章为概览。深入讲解见 设计模式专题。
核心要点
结构型模式解决的是 对象怎么组合 的问题——用组合代替继承,灵活扩展功能。
| 模式 | 一句话 | 适用场景 |
|---|---|---|
| 适配器 | 让不兼容的接口协作 | 对接第三方、旧系统改造 |
| 装饰器 | 动态叠加功能 | IO 流、日志、缓存增强 |
| 代理 | 控制对象访问 | AOP、延迟加载、远程调用 |
| 外观 | 提供统一入口 | 简化复杂子系统 |
| 桥接 | 抽象与实现分离 | 多维度变化(如平台 × 渲染) |
| 组合 | 树形结构统一处理 | 菜单、文件系统、组织架构 |
| 享元 | 共享细粒度对象 | 大量相似对象(如字符渲染) |
选型决策
txt
需要扩展功能
├─ 接口不兼容 → 适配器
├─ 动态叠加行为 → 装饰器
├─ 控制访问 / 增强 → 代理
├─ 简化复杂系统 → 外观
├─ 多维度独立变化 → 桥接
├─ 树形结构 → 组合
└─ 大量相似对象 → 享元