对象设计:角色、责任和协作

对象设计:角色、责任和协作
作 者: Rebecca WirfsBrock
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  RebeccaWirfs-Brock,Wirfs-Brock咨询公司的创始人。她在架构和有效实践方法上给予客户以有益的帮助和意见。她还是一系列诸如责任驱动设计之类的开发实践的创始人,在她的研究成果中,用例变换和对象角色造型被广泛使用。她也是另一本经典作品Designingobject—OrientedSoftware的主要作者。

内容简介

内容提要本书通过大量例子,描述了一幅对象驱动的和谐设计场景。在这个设计场景中,对象是基本设计元素,而定义角色、设计责任和协调合作就构成了设计中的基本活动。角色描述了对象的功能,责任定义了对象必须完成的工作,协作则代表了对象之间的一种契约和互动方式。同时,书中也充满了各种关于设计的真知灼见,针对接口编程及封装变化等设计要旨无一不被细致入微到许多小例子中。严格地说,本书的主要读者是职业软件设计与开发人员,但只要您乐于学习且爱好编程,那么从本书中都能够得到帮助。就犹如本书前言所说,软件设计可以被看成是艺术与数学、天斌与训练的结合。如果您对自己的天赋充满自信,那么请拿起这本书,跟随作者来一次高强度的对象设计训练。 第1章 设计概念 11.1 对象机器 11.2 角色 31.3 对象角色构造型(role stereotypes) 41.4 角色、责任和协作 51.5 对象契约 71.6 领域对象 81.7 与应用相关的特定对象 91.8 接口 101.9 类 111.10 复合 141.11 继承 151.12 对象的组织 151.13 组件 161.14 模式 171.14.1 将Double Dispatch模式应用于特定问题 181.14.2 运用模式的现实利益 221.15 应用框架 221.16 体系结构 241.17 体系结构的风格 251.17.1 集中式控制 261.17.2 分散式控制:没有控制中心 271.17.3 委托式控制 271.17.4 测试互动:一个层次体系的例子 291.17.5 定位层次中的对象 301.18 设计描述 311.19 小结 311.20 进一步阅读 32第2章 责任驱动设计 332.1 观察、描述和设计的过程 342.1.1 启动生产过程:项目的定义和计划 372.1.2 搭建舞台:初期的描述 382.1.3 实施开发:设计 392.1.4 从多视角"观察" 412.2 撰写草稿:分析描述 412.2.1 用法描述 422.2.2 其他规范 482.2.3 术语表 482.2.4 概念上的对象 492.3 铸造特性:挖掘设计 502.3.1 CRC卡 512.3.2 创造:运用模式 542.3.3 寻求解决方案 572.3.4 在思想与细节之间跳跃 582.4 调整产品:精练设计 592.4.1 弹性和可扩展性设计 602.4.2 可靠性设计 612.4.3 使设计...

图书目录

第1章 设计概念

1.1 对象机器

1.2 角色

1.3 对象角色构造型(role stereotypes)

1.4 角色、责任和协作

1.5 对象契约

1.6 领域对象

1.7 与应用相关的特定对象

1.8 接口

1.9 类

1.10 复合

1.11 继承

1.12 对象的组织

1.13 组件

1.14 模式

1.15 应用框架

1.16 体系结构

1.17 体系结构的风格

1.18 设计描述

1.19 小结

1.20 进一步阅读

第2章 责任驱动设计

2.1 观察、描述和设计的过程

2.2 撰写草稿:分析描述

2.3 铸造特性:挖掘设计

2.4 调整产品:精练设计

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.11 小结

3.12 进一步阅读

第4章 责任

4.1 责任是什么

4.2 责任来自哪里

4.3 责任分配策略

4.4 实现对象和责任

4.5 检测对象的质量

4.6 小结

4.7 进一步阅读

第5章 协作

5.1 什么是对象协作

5.2 “Speak for Me”软件的设计故事

5.3 协作的选择

5.4 确定协作的策略

5.5 模拟协作

5.6 设计优良的协作

5.7 让协作成为可能

5.8 何时结束

5.9 小结

5.10 进一步阅读

第6章 控制风格

6.1 什么是控制风格

6.2 可选的控制风格

6.3 衡量各方案利弊

6.4 设计控制中心

6.5 案例分析:外部用户事件的控制风格

6.6 小结

第7章 描述协作

7.1 讲述协作的提纲

7.2 讲述协作的策略

7.3 确立作用范围、深度和基调

7.4 列出所要包含的内容

7.5 决定细节层次

7.6 选择适当的形式

7.7 讲述、绘制以及描述:指导方针

7.8 组织你的工作

7.9 保留提纲

7.10 小结

7.11 进一步阅读

第8章 可靠的协作

8.1 理解失败的后果

8.2 增加系统的可靠性

8.3 确定协作在何处可被信任

8.4 确认哪些协作需要可靠性

8.5 设计一种解决方案

8.6 建立异常处理设计文档

8.7 回顾你的设计

8.8 小结

8.9 进一步阅读

第9章 弹性

9.1 弹性意味着什么

9.2 弹性的程度

9.3 弹性解决方案的效果

9.4 明确弹性需求

9.5 记录变化

9.6 变化及其实现

9.7 模式在弹性设计中的角色

9.8 怎样建立弹性设计的文档

9.9 修改遗留系统的设计

9.10 小结

9.11 进一步阅读

第10章 关于设计

10.1 软件设计的本质

10.2 解决核心设计问题

10.3 确定问题框架(Frame the Problem)

10.4 处理启示性设计问题

10.5 解决启示性问题的策略

10.6 处理剩余问题

10.7 设计职责

10.8 进一步阅读