网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 软件工程 > 商品详情

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

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

最 低 价:¥33.20

定 价:¥42.00

作 者:(美)布罗克 Brock,R.W.

出 版 社:人民邮电出版社

出版时间:2006 年5月

I S B N:7115146659

价格
缺货
价格
33.20元
价格
33.20元
价格
34.90元
价格
37.80元

商品详情

编辑推荐

内容简介

本书通过大量例子,描述了一幅对象驱动的和谐设计场景。在这个设计场景中,对象是基本设计元素,而定义角色、设计责任和协调合作就构成了设计中的基本活动。角色描述了对象的功能,责任定义了对象必须完成的工作,协作则代表了对象之间的一种契约和互动方式。同时,书中也充满了各种关于设计的真知灼见,针对接口编程及封装变化等设计要旨无一不被细致入微到许多小例子中。.
   严格地说,本书的主要读者是职业软件设计与开发人员,但只要您乐于学习且爱好编程,那么从本书中都能够得到帮助。就犹如本书前言所说,软件设计可以被看成是艺术与数学、天斌与训练的结合。如果您对自己的天赋充满自信,那么请拿起这本书,跟随作者来一次高强度的对象设计训练。..
   作者rebecca wiffs-brock和alan mckean在书中讨论了基子责任驱动这一概念框架之下的用户需求、系统架构和设计模式如何共同作用,从而设计出一个有效的对象模型。书中引入了大量词汇,以便设计者用子讨论设计中的各个方面。书中还提供了大量的实践性指导,可以帮助读者改进设计,提升软件的可靠性和灵活性。此外,本书引导读者针对现实案例进行学习,可以帮助读者理解如何将责任驱动设计的原则和技术运用到现实的软件项目中。...

作者简介

Rebecca Wirfs-Brock,Wirfs-Brock咨询公司的创始人。她在架构和有效实践方法上给予客户以有益的帮助和意见。她还是一系列诸如责任驱动设计之类的开发实践的创始人,在她的研究成果中,用例变换和对象角色造型被广泛使用。她也是另一本经典作品Designing Object-Oriented Software的主要作者。.
Alan McKean,知名的对象技术“传道士”,Wirfs-Brock咨询公司的合伙创始人。他传播知识的技巧被众多教育工作者所采用。作为一个有经验的程序员、演说家和教育家,Alan教授面向对象设计、程序设计和分.. << 查看详细

目录

第1章 设计概念. 1
1.1 对象机器 1
1.2 角色 3
1.3 对象角色构造型(role stereotypes) 4
1.4 角色、责任和协作 5
1.5 对象契约 7
1.6 领域对象 8
1.7 与应用相关的特定对象 9
1.8 接口 10
1.9 类 11
1.10 复合 14
1.11 继承 15
1.12 对象的组织 15
1.13 组件 16
1.14 模式 17
1.14.1 将double dispatch模式应用于特定问题 18
1.14.2 运用模式的现实利益 22
1.15 应用框架 22
1.16 体系结构 24
1.17 体系结构的风格 25
.1.17.1 集中式控制 26
1.17.2 分散式控制:没有控制中心 27
1.17.3 委托式控制 27
1.17.4 测试互动:一个层次体系的例子 29
1.17.5 定位层次中的对象 30
1.18 设计描述 31
1.19 小结 31
1.20 进一步阅读 32
第2章 责任驱动设计 33
2.1 观察、描述和设计的过程 34
2.1.1 启动生产过程:项目的定义和计划 37
2.1.2 搭建舞台:初期的描述 38
2.1.3 实施开发:设计 39
2.1.4 从多视角“观察” 41
2.2 撰写草稿:分析描述 41
2.2.1 用法描述 42
2.2.2 其他规范 48
2.2.3 术语表 48
2.2.4 概念上的对象 49
2.3 铸造特性:挖掘设计 50
2.3.1 crc卡 51
2.3.2 创造:运用模式 54
2.3.3 寻求解决方案 57
2.3.4 在思想与细节之间跳跃 58
2.4 调整产品:精练设计 59
2.4.1 弹性和可扩展性设计 60
2.4.2 可靠性设计 61
2.4.3 使设计具有可预见性、一致性,并易于理解 62
2.5 小结 62
2.6 进一步阅读 63
第3章 发现对象 65
3.1 发现策略 66
3.2 找寻对象、角色和类 67
3.3 为什么需要一个设计提纲 68
3.4 寻找的策略 71
3.5 名字到底有何内涵 73
3.6 描述候选对象 78
3.7 特征化候选对象 82
3.8 连接候选对象 83
3.9 寻找共同背景 85
3.10 审核已有对象,寻找其他的对象 88
3.11 小结 89
3.12 进一步阅读 90
第4章 责任 91
4.1 责任是什么 91
4.2 责任来自哪里 93
4.3 责任分配策略 104
4.3.1 记录责任 105
4.3.2 进行初始分配 107
4.3.3 解除困扰 116
4.4 实现对象和责任 118
4.5 检测对象的质量 122
4.6 小结 123
4.7 进一步阅读 123
第5章 协作 125
5.1 什么是对象协作 125
5.1.1 为协作做准备 126
5.1.2 记录候选协作 126
5.2 “speak for me”软件的设计故事 128
5.3 协作的选择 128
5.3.1 谁有控制权 130
5.3.2 对象之间的互信度应为多少 130
5.4 确定协作的策略 132
5.4.1 审视个体对象的角色:构造型隐含协作 133
5.4.2 审视个体责任:它们隐含着协作 139
5.4.3 为复杂责任设计细节 140
5.4.4 为特定的任务设计协作 141
5.4.5 确认可用的模式 142
5.4.6 确认体系结构怎样影响协作 143
5.4.7 解决协作中存在的问题 144
5.5 模拟协作 148
5.5.1 计划编制一个模拟 148
5.5.2 执行一个模拟.. 150
5.6 设计优良的协作 153
5.7 让协作成为可能 156
5.7.1 建立连接的指导方针 157
5.7.2 设计可靠的协作 159
5.8 何时结束 160
5.9 小结 161
5.10 进一步阅读 161
第6章 控制风格 163
6.1 什么是控制风格 163
6.2 可选的控制风格 164
6.3 衡量各方案利弊 165
6.3.1 集中式控制 165
6.3.2 委派式控制 166
6.3.3 控制决策的局限性 167
6.4 设计控制中心 170
6.5 案例分析:外部用户事件的控制风格 171
6.5.1 messagebuilder对象的集中式控制 174
6.5.2 将决策重构入messagebuilder对象的状态方法中 183
6.5.3 抽取决策权 183
6.5.4 委派更多责任 186
6.5.5 为邻居对象设计控制风格 188
6.5.6 设计类似的控制中心:具有一致性 191
6.6 小结 197
第7章 描述协作 199
7.1 讲述协作的提纲 199
7.2 讲述协作的策略 200
7.3 确立作用范围、深度和基调 201
7.4 列出所要包含的内容 202
7.5 决定细节层次 202
7.5.1 显示一个鸟瞰视图 203
7.5.2 只显示协作者 205
7.5.3 显示协作者之间的互动顺序 207
7.5.4 显示深度视图 209
7.5.5 显示焦点互动 211
7.5.6 显示实现视图 212
7.5.7 显示如何改编协作 212
7.5.8 uml图的不足之处 215
7.6 选择适当的形式 218
7.7 讲述、绘制以及描述:指导方针 219
7.8 组织你的工作 224
7.8.1 加强重视 224
7.8.2 展开提纲 225
7.8.3 了解基础内容 226
7.8.4 进行总结 227
7.9 保留提纲 227
7.10 小结 228
7.11 进一步阅读 228
第8章 可靠的协作 231
8.1 理解失败的后果 231
8.2 增加系统的可靠性 233
8.3 确定协作在何处可被信任 234
8.3.1 可信任与不可信协作之间的比较 234
8.3.2 信任的内涵 236
8.4 确认哪些协作需要可靠性 237
8.4.1 用例说明了什么 238
8.4.2 区分异常和错误 238
8.4.3 对象异常与用例异常 239
8.4.4 对象异常基础 240
8.4.5 异常和错误处理策略 244
8.4.6 确定由谁负责 246
8.5 设计一种解决方案 248
8.5.1 积极探索异常条件 248
8.5.2 限制目标范围 249
8.5.3 记录异常处理策略 251
8.6 建立异常处理设计文档 252
8.7 回顾你的设计 257
8.8 小结 259
8.9 进一步阅读 259
第9章 弹性 261
9.1 弹性意味着什么 261
9.2 弹性的程度 263
9.3 弹性解决方案的效果 265
9.4 明确弹性需求 266
9.5 记录变化 269
9.6 变化及其实现 272
9.6.1 确定一个变化的影响力 272
9.6.2 探讨实现弹性的策略 273
9.6.3 使用模板和hook机制来支持变化 273
9.7 模式在弹性设计中的角色 281
9.7.1 以策略模式改变对象的行为 281
9.7.2 使用中介者隐藏交互对象 282
9.7.3 使用适配器安装一个预定义对象或系统 282
9.7.4 模式是如何增加弹性的 284
9.8 怎样建立弹性设计的文档 284
9.8.1 为读者考虑 289
9.8.2 描述如何做出一个变化 290
9.9 修改遗留系统的设计 292
9.10 小结 294
9.11 进一步阅读 294
第10章 关于设计 297
10.1 软件设计的本质 297
10.2 解决核心设计问题 298
10.3 确定问题框架(frame the problem) 299
10.4 处理启示性设计问题 302
10.4.1 一个管理共享信息的例子 302
10.4.2 一个连接问题的复杂性例子 303
10.4.3 难度永远不会降低的设计问题 304
10.4.4 启示性问题是否可以“另类” 305
10.5 解决启示性问题的策略 306
10.5.1 重新定义问题 307
10.5.2 合成一个解决方案 308
10.6 处理剩余问题 309
10.7 设计职责 310
10.8 进一步阅读... 313

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...