来源书籍
设计模式:可复用面向对象软件的基础(典藏版)
软件设计与复杂性管理类
类别清单覆盖
尚未完成类别清单核对。
全书概览
设计模式:可复用面向对象软件的基础(典藏版)
类别:软件设计与复杂性管理类
四象限评级:经典原理(高信息浓度 + 高稳定性)
评级理由:本书的主体不是某个语言、框架或版本的操作手册,而是围绕对象协作、接口与实现分离、组合复用、运行期结构、请求封装、对象创建等稳定设计问题展开。第1章把模式定义为可命名、可复用的设计经验,并讨论“寻找对象”“决定对象粒度”“指定接口”“设计应支持变化”等底层决策;第2章用文档编辑器案例把 Composite、Strategy、Decorator、Abstract Factory、Bridge、Command、Iterator、Visitor 串联成真实设计推理;第3-5章系统讨论23个模式的意图、适用性、结构、协作与后果。内容高度关注“为什么这样设计”和“这样设计的代价”,即使具体示例语言和GUI环境已经过时,核心权衡仍能迁移到现代软件架构中。
章节进度追踪
| 章节号 | 章节标题 | 精读/略读 | 状态(pending/done) | 卡片数 | 理由 |
|---|---|---|---|---|---|
| 前言-1 | 出版者的话 | 略读 | done | 0 | 出版背景与推荐语,非核心设计知识。 |
| 前言-2 | 赞誉 | 略读 | done | 0 | 评价性内容,不生成知识卡片。 |
| 前言-3 | 序言 | 略读 | done | 0 | 介绍版本和背景,信息价值低于主体章节。 |
| 前言-4 | 前言 | 略读 | done | 0 | 说明写作缘起和读者对象,作为背景即可。 |
| 前言-5 | 读者指南 | 略读 | done | 0 | 阅读路径说明,不属于稳定设计原理。 |
| 1 | 引言 | 精读 | done | 5 | 定义设计模式、分类方式、接口/实现、组合复用与变化封装,是全书方法论入口。 |
| 2 | 实例研究:设计一个文档编辑器 | 精读 | done | 7 | 用编辑器案例串联多个模式,展示模式如何共同解决真实设计变化点。 |
| 3.1 | Abstract Factory(抽象工厂) | 精读 | done | 2 | 创建产品族并保持一致性,是对象创建解耦的核心模式。 |
| 3.2 | Builder(生成器) | 精读 | done | 2 | 把构造流程和产品表示拆开,适合复杂对象生成。 |
| 3.3 | Factory Method(工厂方法) | 精读 | done | 2 | 展示框架如何延迟具体产品创建。 |
| 3.4 | Prototype(原型) | 精读 | done | 2 | 用复制替代显式实例化,体现运行期创建灵活性。 |
| 3.5 | Singleton(单件) | 精读 | done | 2 | 讨论唯一实例及其全局访问代价,仍有设计警示价值。 |
| 3.6 | 创建型模式的讨论 | 精读 | done | 2 | 横向比较创建型模式的变化轴和权衡。 |
| 4.1 | Adapter(适配器) | 精读 | done | 2 | 处理接口不兼容,是复用遗留代码和第三方库的常见边界模式。 |
| 4.2 | Bridge(桥接) | 精读 | done | 2 | 分离抽象与实现,适合多维变化。 |
| 4.3 | Composite(组合) | 精读 | done | 2 | 统一整体和部分,支撑树形对象结构。 |
| 4.4 | Decorator(装饰) | 精读 | done | 2 | 以对象组合动态添加职责,是继承替代方案。 |
| 4.5 | Facade(外观) | 精读 | done | 2 | 为复杂子系统建立稳定入口,适合模块边界设计。 |
| 4.6 | Flyweight(享元) | 精读 | done | 2 | 通过共享细粒度对象优化内存,体现状态拆分。 |
| 4.7 | Proxy(代理) | 精读 | done | 2 | 控制访问路径,覆盖延迟、远程、权限等场景。 |
| 4.8 | 结构型模式的讨论 | 精读 | done | 2 | 比较结构相似但意图不同的包装/组合模式。 |
| 5.1 | Chain of Responsibility(职责链) | 精读 | done | 2 | 解耦请求发送者与处理者,适合可配置处理链。 |
| 5.2 | Command(命令) | 精读 | done | 2 | 对象化请求,支撑撤销、队列和日志。 |
| 5.3 | Interpreter(解释器) | 精读 | done | 2 | 展示小型语言和语法树对象化的设计。 |
| 5.4 | Iterator(迭代器) | 精读 | done | 2 | 封装集合遍历,隔离内部表示。 |
| 5.5 | Mediator(中介者) | 精读 | done | 2 | 集中对象协作,降低多对象网状依赖。 |
| 5.6 | Memento(备忘录) | 精读 | done | 2 | 保存内部状态而不破坏封装,适合撤销与回滚。 |
| 5.7 | Observer(观察者) | 精读 | done | 2 | 建立一对多通知依赖,是事件驱动设计基础。 |
| 5.8 | State(状态) | 精读 | done | 2 | 把状态相关行为对象化,控制条件分支膨胀。 |
| 5.9 | Strategy(策略) | 精读 | done | 2 | 封装算法族,适合规则替换。 |
| 5.10 | Template Method(模板方法) | 精读 | done | 2 | 固定算法骨架并开放步骤扩展。 |
| 5.11 | Visitor(访问者) | 精读 | done | 2 | 在稳定对象结构上新增操作,权衡明显。 |
| 5.12 | 行为型模式的讨论 | 精读 | done | 3 | 横向比较行为封装、发送接收解耦与通信位置。 |
| 6 | 结论 | 精读 | done | 3 | 总结模式语言、重构目标和模式使用边界。 |
| 附录A | 词汇表 | 略读 | done | 0 | 术语索引,适合查阅但不生成卡片。 |
| 附录B | 图示符号指南 | 略读 | done | 0 | 符号说明偏工具性,略读即可。 |
| 附录C | 基本类 | 略读 | done | 0 | 示例基础类,偏代码支撑材料。 |
| 参考文献 | 参考文献 | 略读 | done | 0 | 来源清单,不生成卡片。 |
章节与卡片
01
02
03
04
05
- 请求沿链传递 普通读书笔记卡
- 链路可能落空 普通读书笔记卡
- 命令对象化请求 普通读书笔记卡
- 撤销依赖状态 普通读书笔记卡
- 语法树即程序 普通读书笔记卡
- 规则类化代价 普通读书笔记卡
- 遍历封装起来 普通读书笔记卡
- 外部内部迭代 普通读书笔记卡
- 中介集中协作 普通读书笔记卡
- 中介者会变胖 普通读书笔记卡
- 快照保护封装 普通读书笔记卡
- 状态归属清晰 普通读书笔记卡
- 观察者解耦通知 普通读书笔记卡
- 通知粒度权衡 普通读书笔记卡
- 状态对象化分支 普通读书笔记卡
- 转换位置选择 普通读书笔记卡
- 算法族可替换 普通读书笔记卡
- 策略暴露数据 普通读书笔记卡
- 模板固定骨架 普通读书笔记卡
- 钩子控制扩展 普通读书笔记卡
- 访问者加操作 普通读书笔记卡
- 访问者怕新元素 普通读书笔记卡
- 行为封装变化 普通读书笔记卡
- 发送接收解耦 普通读书笔记卡
- 通信位置选择 普通读书笔记卡
06
相关主题
暂无公开主题。