作者Rebecca wirfs-Brock和Alan McKean在书中讨论了基于责任驱动这一概念框架之下的用户需求、系统架构和设计模式如何共同作用,从而设计出一个有效的对象模型。书中引入了大量词汇,以便设计者用于讨论设计中的各个方面。书中还提供了大量的实践性指导,可以帮助读者改进设计,提升软件的可靠性和灵活性。此外,本书引导读者针对现实案例进行学习,可以帮助读者理解如何将责任驱动设计的原则和技术运用到现实的软件项目中。
本书通过大量例子,描述了一幅对象驱动的和谐设计场景。在这个设计场景中,对象是基本设计元素,而定义角色、设计责任和协调合作就构成了设计中的基本活动。角色描述了对象的功能,责任定义了对象必须完成的工作,协作则代表了对象之间的一种契约和互动方式。同时,书中也充满了各种关于设计的真知灼见,针对接口编程及封装变化等设计要旨无一不被细致入微到许多小例子中。
严格地说,本书的主要读者是职业软件设计与开发人员,但只要您乐于学习且爱好编程,那么从本书中都能够得到帮助。就犹如本书前言所说,软件设计可以被看成是艺术与数学、天斌与训练的结合。如果您对自己的天赋充满自信,那么请拿起这本书,跟随作者来一次高强度的对象设计训练。
第1章 设计概念
1.1对象机器
1.2角色
1.3对象角色构造型(role stereotypes)
1.4角色、责任和协作
1.5对象契约
1.6领域对象
1.7与应用相关的特定对象
1.8接口
1.9类
1.10复合
1.1l 继承
1.12对象的组织
1.13组件
1.14模式
1.14.1将Double Dispatch模式应用于特定问题
1.14.2运用模式的现实利益
1.15应用框架
1.16体系结构
1.17体系结构的风格
1.17.1集中式控制
1.17.2分散式控制:没有控制中心
1.17.3委托式控制
1.17.4测试互动:一个层次体系的例子
1.17.5定位层次中的对象
1.18设计描述
1.19小结
1.20进一步阅读
第2章 责任驱动设计
2.1观察、描述和设计的过程
2.1.1启动生产过程:项目的定义和计划
2.1.2搭建舞台:初期的描述
2.1.3实施开发:设计
2.1.4从多视角“观察”
2.2撰写草稿:分析描述
2.2.1用法描述
2.2.2其他规范
2.2.3术语表
2.2.4概念上的对象
2.3铸造特性:挖掘设计
2.3.1 CRC卡
2.3.2创造:运用模式
2.3.3寻求解决方案
2.3.4在思想与细节之间跳跃
2.4.调整产品:精练设计
2.4.1弹性和可扩展性设计
2.4.2可靠性设计
2.4.3使设计具有可预见性、一致性,并易于理解
2.5小结
2.6进一步阅读
第3章 发现对象
3.1发现策略
3.2找寻对象、角色和类
3.3为什么需要一个设计提纲
3.4寻找的策略
3.5名字到底有何内涵
3.6描述候选对象
3.7特征化候选对象
3.8连接候选对象
3.9寻找共同背景
3.10审核已有对象,寻找其他的对象
3.1l 小结
3.12进一步阅读
第4章 责任
……