![]() 作者:Alan Shalloway/James R.Trott 出版社: 人民邮电出版社 原作名: Design Patterns Explained 译者:徐言声 出版年: 2010-12 页数: 312 定价: 55.00元 装帧: 平装 ISBN: 9787115240989 内容简介 · · · · · ·本书以作者自身学习、使用模式和多年来为软件开发人员(包括面向对象技术老兵和新手)讲授模式的经验为基础撰写而成。首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12 个最常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。 本书适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。 作者简介 · · · · · ·Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO。他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询、培训和软件开发的经验,并经常受邀在重要的软件开发会议(包括SD Expro、Java One、OOP和OOPSLA)上演讲。 James R.Trott 美国一家大型金融机构的资深顾问。他是应用数学科学硕士、MBA和跨文化研究硕士。在其20年的职业生涯中,他一直将面向对象和基于模式的分析技术运用在知识管理、知识工程等方面,是运用认知设计模式与KADS方法学的专家。 目录 · · · · · ·第一部分 面向对象软件开发简介第1章 面向对象范型 2 1.1 概览 2 1.2 面向对象范型之前:功能分解 2 1.3 需求问题 4 1.4 应对变化:使用功能分解 5 · · · · · ·() 第一部分 面向对象软件开发简介 第1章 面向对象范型 2 1.1 概览 2 1.2 面向对象范型之前:功能分解 2 1.3 需求问题 4 1.4 应对变化:使用功能分解 5 1.5 应对需求变更 7 1.6 面向对象范型 10 1.7 面向对象程序设计实践 15 1.8 特殊对象方法 17 1.9 小结 18 复习题 19 简答题 19 阐述题 20 观点与应用题 20 第2章 UML 21 2.1 概览 21 2.2 什么是UML 21 2.3 为什么使用UML 22 2.4 类图 22 2.5 交互图 28 2.6 小结 30 复习题 30 简答题 30 阐述题 30 观点与应用题 30 第二部分 传统面向对象设计的局限 第3章 对代码灵活性要求很高的问题 33 3.1 概览 33 3.2 提取CAD/CAM系统的信息 33 3.3 了解专业术语 34 3.4 问题描述 35 3.5 挑战及其解决方案 37 3.6 小结 39 复习题 40 简答题 40 阐述题 40 观点与应用题 40 第4章 标准的面向对象解决方案 41 4.1 概览 41 4.2 作为特例来解决 41 4.3 小结 48 复习题 48 简答题 48 阐述题 49 观点与应用题 49 第三部分 设 计 模 式 第5章 设计模式简介 53 5.1 概览 53 5.2 设计模式源自建筑学和人类学 53 5.3 从建筑模式到软件设计模式 57 5.4 为什么学习设计模式 58 5.5 学习设计模式的其他好处 62 5.6 小结 63 复习题 63 简答题 63 阐述题 64 观点与应用题 64 第6章 Facade模式 65 6.1 概览 65 6.2 Facade模式简介 65 6.3 学习Facade模式 65 6.4 实践注记:Facade模式 68 6.5 Facade模式与CAD/CAM问题的联系 69 6.6 小结 70 复习题 70 简答题 70 阐述题 70 观点与应用题 71 第7章 Adapter模式 72 7.1 概览 72 7.2 Adapter模式简介 72 7.3 学习Adapter模式 73 7.4 实践注记:Adapter模式 77 7.5 Adapter模式与CAD/CAM问题的联系 80 7.6 小结 80 复习题 80 简答题 80 阐述题 81 观点与应用题 81 第8章 开拓视野 82 8.1 概览 82 8.2 对象:传统看法与新看法 83 8.3 封装:传统看法与新看法 84 8.4 发现变化并将其封装 87 8.5 共性和可变性分析与抽象类 90 8.6 敏捷编程的品质 92 8.7 小结 95 复习题 96 简答题 96 阐述题 96 观点与应用题 97 第9章 Strategy模式 98 9.1 概览 98 9.2 处理新需求的一种途径 98 9.3 国际电子商务系统案例研究:最初的需求 100 9.4 处理新的需求 101 9.5 Strategy模式 108 9.6 实践注记:使用Strategy模式 110 9.7 小结 111 复习题 111 简答题 111 阐述题 112 观点与应用题 112 第10章 Bridge模式 113 10.1 概览 113 10.2 Bridge模式简介 113 10.3 学习Bridge模式:示例 114 10.4 对使用设计模式的观察 123 10.5 学习Bridge模式:通过将它推演出来 124 10.6 Bridge模式回顾 131 10.7 实践注记:使用Bridge模式 132 10.8 小结 135 复习题 137 简答题 137 阐述题 137 观点与应用题 137 第11章 Abstract Factory模式 138 11.1 概览 138 11.2 Abstract Factory模式简介 138 11.3 学习Abstract Factory模式:示例 138 11.4 学习Abstract Factory模式:实现该模式 144 11.5 实践注记:Abstract Factory模式 149 11.6 将Abstract Factory模式与CAD/CAM问题联系起来 151 11.7 小结 151 复习题 152 简答题 152 阐述题 152 观点与应用题 152 第四部分 组合起来:用模式思考 第12章 专家设计之道 154 12.1 概览 154 12.2 添加特征的创建方式 154 12.3 小结 160 复习题 160 简答题 160 阐述题 161 观点与应用题 161 第13章 用模式解决CAD/CAM问题 162 13.1 概览 162 13.2 对CAD/CAM问题的回顾 162 13.3 用模式思考 163 13.4 用模式思考:步骤1 164 13.5 用模式思考:步骤2a 165 13.6 用模式思考:步骤2b 169 13.7 用模式思考:步骤2c 172 13.8 用模式思考:重复步骤2a和步骤2b(Facade模式) 173 13.9 用模式思考:重复步骤2a和步骤2b(Adapter模式) 174 13.10 用模式思考:重复步骤2a和步骤2b(Abstract Factory模式) 174 13.11 用模式思考:步骤3 175 13.12 与原解决方案的比较 175 13.13 小结 176 复习题 177 简答题 177 阐述题 177 观点与应用题 177 第五部分 迈向新的设计方式 第14章 设计模式的原则与策略 180 14.1 概览 180 14.2 开闭原则 181 14.3 从背景设计原则 181 14.4 封装变化原则 185 14.5 抽象类与接口 186 14.6 理性怀疑原则 187 14.7 小结 187 复习题 188 简答题 188 阐述题 188 观点与应用题 188 第15章 共性与可变性分析 189 15.1 概览 189 15.2 共性和可变性分析与应用程序设计 189 15.3 用CVA解决CAD/CAM问题 190 15.4 小结 194 复习题 194 简答题 194 阐述题 194 观点与应用题 195 第16章 分析矩阵 196 16.1 概览 196 16.2 现实世界:充满变化 196 16.3 国际电子商务系统案例研究:应对变化 197 16.4 实践注记 203 16.5 小结 206 复习题 206 简答题 206 阐述题 206 观点与应用题 206 第17章 Decorator模式 207 17.1 概览 207 17.2 更多细节 207 17.3 Decorator模式 209 17.4 将Decorator模式应用到我们的案例研究 210 17.5 另一个例子:输入/输出 213 17.6 实践注记:使用Decorator模式 215 17.7 Decorator模式的本质 216 17.8 小结 217 复习题 217 简答题 217 阐述题 217 观点与应用题 217 第六部分 其他重要模式 第18章 Observer模式 220 18.1 概览 220 18.2 模式的分类 220 18.3 国际电子商务案例的更多需求 221 18.4 Observer模式 222 18.5 将Observer模式应用到我们的案例研究 223 18.6 实践注记:使用Observer模式 227 18.7 小结 229 复习题 229 简答题 229 阐述题 230 观点与应用题 230 第19章 Template Method模式 231 19.1 概览 231 19.2 案例研究的更多需求 231 19.3 Template Method模式 232 19.4 将Template Method模式应用到我们的案例研究 232 19.5 使用Template Method模式减少冗余 233 19.6 实践注记:使用Template Method模式 238 19.7 小结 239 复习题 240 简答题 240 阐述题 240 第七部分 各种工厂模式 第20章 来自设计模式的教益:各种工厂模式 242 20.1 概览 242 20.2 工厂 242 20.3 再谈背景 243 20.4 工厂遵循我们的准则 245 20.5 限制变化的影响 246 20.6 对工厂的另一种思考方式 246 20.7 工厂的不同角色 247 20.8 实践注记 247 20.9 小结 248 复习题 248 简答题 248 阐述题 248 观点与应用题 248 第21章 Singleton模式和Double-Checked Locking模式 249 21.1 概览 249 21.2 Singleton模式简介 249 21.3 将Singleton模式应用到我们的案例研究 250 21.4 一种变体:Double-Checked Locking模式 252 21.5 反思 255 21.6 实践注记:使用Singleton模式和Double-Checked Locking模式 255 21.7 小结 256 复习题 256 简答题 256 阐述题 256 观点与应用题 256 第22章 Object Pool模式 257 22.1 概览 257 22.2 一个需要对对象进行管理的问题 257 22.3 Object Pool模式 263 22.4 观察:工厂的作用不仅是实例化 263 22.5 小结 265 复习题 265 简答题 265 阐述题 266 观点与应用题 266 第23章 Factory Method模式 267 23.1 概览 267 23.2 案例研究的更多需求 267 23.3 Factory Method模式 268 23.4 Factory Method模式与面向对象语言 268 23.5 实践注记:使用Factory Method模式 269 23.6 小结 270 复习题 271 简答题 271 阐述题 271 观点与应用题 271 第24章 工厂模式的总结 272 24.1 概览 272 24.2 软件开发过程中的步骤 272 24.3 工厂与极限编程实践殊途同归 273 24.4 系统的扩展性 273 第八部分 终点与起点 第25章 设计模式回顾:总结与新起点 276 25.1 概览 276 25.2 面向对象原则的总结 276 25.3 设计模式如何封装实现 277 25.4 共性和可变性分析与设计模式 277 25.5 按责任分解问题域 278 25.6 模式和从背景设计 279 25.7 模式内部的关联 279 25.8 设计模式与敏捷编程实践 281 25.9 实践注记 281 25.10 小结 281 复习题 282 简答题 282 阐述题 282 观点与应用题 282 第26章 参考书目 283 26.1 本书配套网站 283 26.2 推荐阅读 284 26.3 针对Java程序员的推荐读物 285 26.4 针对C++程序员的推荐读物 286 26.5 针对COBOL程序员的推荐读物 287 26.6 极限编程的推荐读物 287 26.7 程序设计的一般性推荐读物 287 26.8 个人推荐 288 · · · · · · () |
不一样的观点
怎么说呢,感觉这本书涉及的方方面面太多
“无论在任何时代,都有身份的问题,人类永远不可能平等。”
一种全新的角度切入