设计模式解析(第2版)
2推荐 收藏
2.6K阅读
图灵程序设计丛书

设计模式解析(第2版)

Alan Shalloway (作者) 徐言声 (译者)
终止销售
本书以作者自身学习、使用模式和多年来为软件开发人员(包括面向对象技术老兵和新手)讲授模式的经验为基础撰写而成。首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。
本书适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

纸质书
¥45.00

其他购买方式?

出版信息

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

目录

第一部分 面向对象软件开发简介
第1章 面向对象范型    3
1.1 概览    3
1.2 面向对象范型之前:功能分解    3
1.3 需求问题    5
1.4 应对变化:使用功能分解    6
1.5 应对需求变更    8
1.6 面向对象范型    11
1.7 面向对象程序设计实践    16
1.7 特殊对象方法    18
1.8 小结    19
复习题    20
简答题    20
阐述题    21
观点与应用题    21
第2章 UML    22
2.1 概览    22
2.2 什么是UML    22
2.3 为什么使用UML    23
2.4 类图    23
2.5 交互图    29
2.6 小结    31
复习题    31
简答题    31
阐述题    31
观点与应用题    31
第二部分 传统面向对象设计的局限
第3章 对代码灵活性要求很高的问题    35
3.1 概览    35
3.2 提取CAD/CAM系统的信息    35
3.3 了解专业术语    36
3.4 问题描述    37
3.5 挑战及其解决方案    39
3.6 小结    41
复习题    42
简答题    42
阐述题    42
观点与应用题    42
第4章 标准的面向对象解决方案    43
4.1 概览    43
4.2 作为特例来解决    43
4.3 小结    50
复习题    51
简答题    51
阐述题    51
观点与应用题    51
第三部分 设 计 模 式
第5章 设计模式简介    55
5.1 概览    55
5.2 设计模式源自建筑学和人类学    55
5.3 从建筑模式到软件设计模式    59
5.4 为什么学习设计模式    60
5.5 学习设计模式的其他好处    64
5.6 小结    65
复习题    65
简答题    65
阐述题    66
观点与应用题    66
第6章 Facade模式    67
6.1 概览    67
6.2 Facade模式简介    67
6.3 学习Facade模式    67
6.4 实践注记:Facade模式    70
6.5 Facade模式与CAD/CAM问题的联系    71
6.6 小结    72
复习题    72
简答题    72
阐述题    72
观点与应用题    73
第7章 Adapter模式    74
7.1 概览    74
7.2 Adapter模式简介    74
7.3 学习Adapter模式    75
7.4 实践注记:Adapter模式    79
7.5 Adapter模式与CAD/CAM问题的联系    82
7.6 小结    82
复习题    82
简答题    82
阐述题    83
观点与应用题    83
第8章 开拓视野    84
8.1 概览    84
8.2 对象:传统看法与新看法    85
8.3 封装:传统看法与新看法    86
8.4 发现变化并将其封装    89
8.5 共性和可变性分析与抽象类    92
8.6 敏捷编程的品质    94
8.7 小结    97
复习题    98
简答题    98
阐述题    98
观点与应用题    99
第9章 Strategy模式    100
9.1 概览    100
9.2 处理新需求的一种途径    100
9.3 国际电子商务系统案例研究:最初的需求    102
9.4 处理新的需求    103
9.5 Strategy模式    110
9.6 实践注记:使用Strategy模式    112
9.7 小结    113
复习题    114
简答题    114
阐述题    114
观点与应用题    114
第10章 Bridge模式    115
10.1 概览    115
10.2 Bridge模式简介    115
10.3 学习Bridge模式:示例    116
10.4 对使用设计模式的观察    125
10.5 学习Bridge模式:通过将它推演出来    126
10.6 Bridge模式回顾    133
10.7 实践注记:使用Bridge模式    134
10.8 小结    137
复习题    139
简答题    139
阐述题    139
观点与应用题    139
第11章 Abstract Factory模式    140
11.1 概览    140
11.2 Abstract Factory模式简介    140
11.3 学习Abstract Factory模式:示例    140
11.4 学习Abstract Factory模式:实现该模式    146
11.5 实践注记:Abstract Factory模式    151
11.6 将Abstract Factory模式与CAD/CAM问题联系起来    153
11.7 小结    153
复习题    154
简答题    154
阐述题    154
观点与应用题    154
第四部分 组合起来:用模式思考
第12章 专家设计之道    157
12.1 概览    157
12.2 添加特征的创建方式    157
12.3 小结    163
复习题    163
简答题    163
阐述题    164
观点与应用题    164
第13章 用模式解决CAD/CAM问题    165
13.1 概览    165
13.2 对CAD/CAM问题的回顾    165
13.3 用模式思考    166
13.4 用模式思考:步骤1    167
13.5 用模式思考:步骤2a    168
13.6 用模式思考:步骤2b    172
13.7 用模式思考:步骤2c    175
13.8 用模式思考:重复步骤2a和2b(Facade模式)    176
13.9 用模式思考:重复步骤2a和2b(Adapter模式)    177
13.10 用模式思考:重复步骤2a和2b(Abstract Factory模式)    177
13.11 用模式思考:步骤3    178
13.12 与原解决方案的比较    178
13.13 小结    179
复习题    180
简答题    180
阐述题    180
观点与应用题    180
第五部分 迈向新的设计方式
第14章 设计模式的原则与策略    183
14.1 概览    183
14.2 开闭原则    184
14.3 从背景设计原则    184
14.4 封装变化原则    188
14.5 抽象类与接口    189
14.6 理性怀疑原则    190
14.7 小结    190
复习题    191
简答题    191
阐述题    191
观点与应用题    191
第15章 共性与可变性分析    192
15.1 概览    192
15.2 共性和可变性分析与应用程序设计    192
15.3 用CVA解决CAD/CAM问题    193
15.4 小结    197
复习题    197
简答题    197
阐述题    197
观点与应用题    198
第16章 分析矩阵    199
16.1 概览    199
16.2 现实世界:充满变化    199
16.3 国际电子商务系统案例研究:应对变化    200
16.4 实践注记    206
16.5 小结    209
复习题    209
简答题    209
阐述题    209
观点与应用题    209
第17章 Decorator模式    210
17.1 概览    210
17.2 更多细节    210
17.3 Decorator模式    212
17.4 将Decorator模式应用到我们的案例研究    213
17.5 另一个例子:输入/输出    216
17.6 实践注记:使用Decorator模式    218
17.7 Decorator模式的本质    219
17.8 小结    220
复习题    220
简答题    220
阐述题    220
观点与应用题    220
第六部分 其他重要模式
第18章 Observer模式    223
18.1 概览    223
18.2 模式的分类    223
18.3 国际电子商务案例的更多需求    224
18.4 Observer模式    225
18.5 将Observer模式应用到我们的案例研究    226
18.6 实践注记:使用Observer模式    230
18.7 小结    232
复习题    232
简答题    232
阐述题    233
观点与应用题    233
第19章 Template Method模式    234
19.1 概览    234
19.2 案例研究的更多需求    234
19.3 Template Method模式    235
19.4 将Template Method模式应用到我们的案例研究    235
19.5 使用Template Method模式减少冗余    236
19.6 实践注记:使用Template Method模式    241
19.7 小结    242
复习题    243
简答题    243
阐述题    243
第七部分 各种工厂模式
第20章 来自设计模式的教益:各种工厂模式    247
20.1 概览    247
20.2 工厂    247
20.3 再谈背景    248
20.4 工厂遵循我们的准则    250
20.5 限制变化的影响    251
20.6 对工厂的另一种思考方式    251
20.7 工厂的不同角色    252
20.8 实践注记    252
20.9 小结    253
复习题    253
简答题    253
阐述题    253
观点与应用题    253
第21章 Singleton模式和Double-CheckedLocking模式    254
21.1 概览    254
21.2 Singleton模式简介    254
21.3 将Singleton模式应用到我们的案例研究    255
21.4 一种变体:Double-Checked Locking模式    257
21.5 反思    260
21.6 实践注记:使用Singleton模式和    260
Double-Checked Locking模式    260
21.7 小结    261
复习题    261
简答题    261
阐述题    261
观点与应用题    261
第22章 Object Pool模式    262
22.1 概览    262
22.2 一个需要对对象进行管理的问题    262
22.3 Object Pool模式    268
22.4 观察:工厂的作用不仅是实例化    268
22.5 小结    270
复习题    270
简答题    270
阐述题    271
观点与应用题    271
第23章 Factory Method模式    272
23.1 概览    272
23.2 案例研究的更多需求    272
23.3 Factory Method模式    273
23.4 Factory Method模式与面向对象语言    273
23.5 实践注记:使用Factory Method模式    274
23.6 小结    275
复习题    276
简答题    276
阐述题    276
观点与应用题    276
第24章 工厂模式的总结    277
24.1 概览    277
24.2 软件开发过程中的步骤    277
24.3 工厂与极限编程实践殊途同归    278
24.4 系统的扩展性    278
第八部分 终点与起点
第25章 设计模式回顾:总结与新起点    283
25.1 概览    283
25.2 面向对象原则的总结    283
25.3 设计模式如何封装实现    284
25.4 共性和可变性分析与设计模式    284
25.5 按责任分解问题域    285
25.6 模式和从背景设计    286
25.7 模式内部的关联    286
25.8 设计模式与敏捷编程实践    288
25.9 实践注记    288
25.10 小结    288
复习题    289
简答题    289
阐述题    289
观点与应用题    289
第26章 参考书目    290
26.1 本书配套网站    290
26.2 推荐阅读    291
26.3 针对Java程序员的推荐读物    292
26.4 针对C++程序员的推荐读物    293
26.5 针对COBOL程序员的推荐读物    294
26.6 极限编程的推荐读物    294
26.7 程序设计的一般性推荐读物    294
26.8 个人推荐    295
  • 居然没有把每章后面的习题答案翻译整理到书中!!!难道让英文不好的人去网上看英文答案吗???
    wym0291  发表于 2006-10-08 10:57:37
    推荐
  • maninred读者在china-pub上的评论:
    http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=31283

    趁着放假的时间终于看完了这本书的下半部分,到此整本书都仔仔细细地看完了。看完这本书后对设计模式有种顿悟的感觉,这本书主要是让你理解设计模式。

    这本书真的是很好的一本设计模式的入门书籍,在看Gof的《设计模式》之前最好看看这本书,这本书能让你理解什么是设计模式,为什么有设计模式,设计模式是怎么来的。全书除了解答这三个问题外还用生动的案例详细地讲了12个核心模式和一个分析模式。
    teacher1  发表于 2007-08-15 13:20:18
    推荐
  • 读者gongtao在china-pub上的评论:
    http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=31283

    本人是先阅读《Agile Software Development Principles,Patterns,and Practices》这本书,但对书中介绍的模式不是很理解,通过《设计模式解析》的阅读,充分理解了这两本书的内涵,建议大家精读以上两本书,经典中的经典。
    teacher1  发表于 2007-08-15 13:21:25
    推荐
  • dearbook读者评论:
    http://www.dearbook.com.cn/book/110553

    Very good,书很好,翻译也还好,整体质量不错.推荐拥有.
    我们公司给每个人都买了一本.
    teacher1  发表于 2007-08-16 23:38:52
    推荐
  • dearbook读者评论:

    阅读本书,读者能够完整地理解12个核心的设计模式和1个分析模式,了解设计模式并不是孤立存在的,多个设计模式协同工作才能创建出更加坚固的应用程序。这里所讲授的12个模式并没有涵盖所有应该学会的模式,但是理解了这12个模式,你将能够举一反三,更加容易地自学其他模式。
    teacher1  发表于 2007-08-16 23:39:43
    推荐
  • 看了一半了,感觉很好,但是怎么没有源码资源下呢?
    afire_ly  发表于 2007-09-18 16:12:13
    推荐
  • 来自d.CAT的blog:

    最近教課剛好講到pattern的部份,所以把手邊幾本新進書翻了一下,其中這本是個人覺得最適合flash 工程師閱讀的選擇。

    這本書用非常多的實例示範 GoF原始的pattern,並且盡可能詳細的解釋每個pattern的意義與用途(呃,可惜factory method這章講掛了,大概寫到這章時作者已經沒力了所以草草帶過,這部份可從其它書裏補齊),更重要的是 ch16. The Analysis Matrix 裏面介紹了一種系統化的pattern-based OOA/D手法,透過matrix 表格的分析可以快速的瞭解那些pattern可能有助於解決眼前的問題,看完這章就覺得值回票價(當然前提是得先對前面15章講過的每個pattern都熟悉才會比較有感覺。)

    更多请访问[url=http://ria.richtechmedia.com/2005/05/11/design-patterns-explained-a-new-perspective-on-object-oriented-design-2nd-ed/]这里[/url]
    teacher1  发表于 2009-01-21 00:27:03
    推荐
  • 怎么没有完整的代码资源呀。。。
    liuning108  发表于 2009-07-15 19:59:26
    推荐