本书以作者自身学习、使用模式和多年来为软件开发人员(包括面向对象技术老兵和新手)讲授模式的经验为基础撰写而成。首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12 个常用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。 本书适合软件开发专业人士,以及计算机专业、软件工程专业的高校师生阅读,也可作为面向对象分析与设计课程的参考教材。 Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO。他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询、培训和软件开发的经验,并经常受邀在重要的软件开发会议(包括SD Expro、Java One、OOP和OOPSLA)上演讲。James R. Trott 美国一家大型金融机构的资深顾问。他是应用数学科学硕士、MBA和跨文化研究硕士。在其20年的职业生涯中,他一直将面向对象和基于模式的分析技术运用在知识管理、知识工程等方面,是运用认知设计模式与KADS方法学的专家。 第一部分 面向对象软件开发简介第1章 面向对象范型 21.1 概览 21.2 面向对象范型之前:功能分解 21.3 需求问题 41.4 应对变化:使用功能分解 51.5 应对需求变更 71.6 面向对象范型 101.7 面向对象程序设计实践 151.8 特殊对象方法 171.9 小结 18复习题 19简答题 19阐述题 20观点与应用题 20第2章 UML 212.1 概览 212.2 什么是UML 212.3 为什么使用UML 222.4 类图 222.5 交互图 282.6 小结 30复习题 30简答题 30阐述题 30观点与应用题 30第二部分 传统面向对象设计的局限第3章 对代码灵活性要求很高的问题 333.1 概览 333.2 提取CAD/CAM系统的信息 333.3 了解专业术语 343.4 问题描述 353.5 挑战及其解决方案 373.6 小结 39复习题 40简答题 40阐述题 40观点与应用题 40第4章 标准的面向对象解决方案 414.1 概览 414.2 作为特例来解决 414.3 小结 48复习题 48简答题 48阐述题 49观点与应用题 49第三部分 设 计 模 式第5章 设计模式简介 535.1 概览 535.2 设计模式源自建筑学和人类学 535.3 从建筑模式到软件设计模式 575.4 为什么学习设计模式 585.5 学习设计模式的其他好处 625.6 小结 63复习题 63简答题 63阐述题 64观点与应用题 64第6章 Facade模式 656.1 概览 656.2 Facade模式简介 656.3 学习Facade模式 656.4 实践注记:Facade模式 686.5 Facade模式与CAD/CAM问题的联系 696.6 小结 70复习题 70简答题 70阐述题 70观点与应用题 71第7章 Adapter模式 727.1 概览 727.2 Adapter模式简介 727.3 学习Adapter模式 737.4 实践注记:Adapter模式 777.5 Adapter模式与CAD/CAM问题的联系 807.6 小结 80复习题 80简答题 80阐述题 81观点与应用题 81第8章 开拓视野 828.1 概览 828.2 对象:传统看法与新看法 838.3 封装:传统看法与新看法 848.4 发现变化并将其封装 878.5 共性和可变性分析与抽象类 908.6 敏捷编程的品质 928.7 小结 95复习题 96简答题 96阐述题 96观点与应用题 97第9章 Strategy模式 989.1 概览 989.2 处理新需求的一种途径 989.3 国际电子商务系统案例研究:最初的需求 1009.4 处理新的需求 1019.5 Strategy模式 1089.6 实践注记:使用Strategy模式 1109.7 小结 111复习题 111简答题 111阐述题 112观点与应用题 112第10章 Bridge模式 11310.1 概览 11310.2 Bridge模式简介 11310.3 学习Bridge模式:示例 11410.4 对使用设计模式的观察 12310.5 学习Bridge模式:通过将它推演出来 12410.6 Bridge模式回顾 13110.7 实践注记:使用Bridge模式 13210.8 小结 135复习题 137简答题 137阐述题 137观点与应用题 137第11章 Abstract Factory模式 13811.1 概览 13811.2 Abstract Factory模式简介 13811.3 学习Abstract Factory模式:示例 13811.4 学习Abstract Factory模式:实现该模式 14411.5 实践注记:Abstract Factory模式 14911.6 将Abstract Factory模式与CAD/CAM问题联系起来 15111.7 小结 151复习题 152简答题 152阐述题 152观点与应用题 152第四部分 组合起来:用模式思考第12章 专家设计之道 15412.1 概览 15412.2 添加特征的创建方式 15412.3 小结 160复习题 160简答题 160阐述题 161观点与应用题 161第13章 用模式解决CAD/CAM问题 16213.1 概览 16213.2 对CAD/CAM问题的回顾 16213.3 用模式思考 16313.4 用模式思考:步骤1 16413.5 用模式思考:步骤2a 16513.6 用模式思考:步骤2b 16913.7 用模式思考:步骤2c 17213.8 用模式思考:重复步骤2a和步骤2b(Facade模式) 17313.9 用模式思考:重复步骤2a和步骤2b(Adapter模式) 17413.10 用模式思考:重复步骤2a和步骤2b(Abstract Factory模式) 17413.11 用模式思考:步骤3 17513.12 与原解决方案的比较 17513.13 小结 176复习题 177简答题 177阐述题 177观点与应用题 177第五部分 迈向新的设计方式第14章 设计模式的原则与策略 18014.1 概览 18014.2 开闭原则 18114.3 从背景设计原则 18114.4 封装变化原则 18514.5 抽象类与接口 18614.6 理性怀疑原则 18714.7 小结 187复习题 188简答题 188阐述题 188观点与应用题 188第15章 共性与可变性分析 18915.1 概览 18915.2 共性和可变性分析
阅读更多