第1章 为什么要使用面向对象设计
什么是软件危机
抽象概念是怎样帮助我们的
什么是对象
什么是软件的生命周期
什么样的软件可以重用
谁设计软件
在本书中有什么
第2章 对象和其他基本要素
什么是对象
如何访问对象
类和实例
多态性
继承
面向对象设计
客户和服务器
客户-服务器契约
术语
第3章 类
发现类
画图编辑器需求说明
画图编辑器设计:发现类
记录候选类
发现抽象类
自动柜员机需求说明
自动柜员机设计:发现类
第4章 职责
什么是职责
确定职责
分配职责
检查类之间的关系
记录职责
ATM设计:发现和分配职责
第5章 协作
什么是协作
发现协作
记录协作
排练
ATM设计:发现协作
探索阶段总结
第6章 分层结构
分层结构图
维恩图
创建良好的分层结构
确定契约
修改你的设计
为ATM系统建立分层结构
定义契约
总结
第7章 子系统
协作图
什么是子系统
确定子系统
简化交互
核对你的设计
分析ATM系统的协作
第8章 协议
细化职责
详细说明你的设计
ATM系统的签名
小结
第9章 实现你的设计
选择语言
管理实现
评估你的设计质量
邀请
第10章 又一个设计
联机文档系统需求说明
发现子系统
发现类
发现职责和协作
探索阶段总结
建立分层结构
发现契约
简化协作
创建协议
附录A 快速查阅
附录B ATM系统设计
附录C 文档子系统设计
附录D 练习