软件模式已成为软件工程领域内的一个热门话题,它可以解决软件开发中的复用问题,并且促进了面向对象软件技术的发展。应用软件模式往往使得软件更加简洁、灵活、易于理解且富有灵活性。\r\n\r\n 本书将Java语言、统一建模语言(UML)与模式相结合,从软件工程的各个阶段对模式进行了描述,全书共9章,第1章介绍了软件模式的概念和发展,读者可以从中了解模式的相关知识;第2章简要阐述了UML的相关知识,包括类图、协作图、状态图等;第3章详细描述了软件生命周期,并配有具体的实例;第4章到第9章分别介绍了通用职责分配软件模式(GRASP)、图形用户界面(GUI)设计模式、代码编制模式、代码优化模式、代码健壮模式和测试模式。\r\n\r\n 本书是一本关于Java模式的权威且通俗易懂的指南,可供有经验的程序员掌握所介绍的模式。对于初学者,本书也是一本难得的参考书。\r\n
\r\n
第1章 软件模式简介
1.1 模式发展史简述
1.2 模式介绍
1.3 本书结构
第2章 UML综述
2.1 类图
2.2 协作图
2.3 状态图
第3章 软件生命周期
3.1 案例研究
第4章 通用职责分配软件模式
4.1 弱耦合/强内聚模式[Larman98]
4.2 专家模式[Larman98]
4.3 创建者模式[Larman98]
4.4 多态性模式[Larman98]
4.5 单纯创建模式[Larman98]
4.6 得墨忒耳定理模式[Larman98]
4.7 控制器模式[Larman98]
第5章 图形用户界面设计模式
5.1 单任务窗口模式[Beck-Cunningham87]
5.2 交互形式模式[Coram-Lee98]
5.3 可探测接口模式[Coram-Lee98]
5.4 会话式文本模式[Grand99]
5.5 选择模式[Grand99]
5.6 表单模式[Tidwell98]
5.7 直接操作模式[Grand99]
5.8 有限选择规模模式[Grand99]
5.9 瞬时反馈模式[Grand99]
5.10 去除无关事件模式[Tidwell98]
5.11 辅助窗口模式[Grand99]
5.12 向导模式[Tidwell98]
第6章 代码编制模式
6.1 存取器方法命名模式[Grand99]
6.2 匿名适配器模式[Grand99]
6.3 符号常量命名模式[Grand99]
6.4 在接口中定义常量模式[Trost98]
6.5 switch语句模式[Grand99]
6.6 扩展超类模式[Beck971]
6.7 意图展示方法模式田eck97]
6.8 复合方法模式田eck97]
6.9 条件编译模式[Grand99]
6.10 检测到的和未检测到的异常模式[Grand99]
6.11 转换异常模式IBrown98]
6.12 服务器Socket模式[Grand99]
6.13 客户端Socket模式[Grand99]
第7章 代码优化模式
7.1 散列适配器对象模式[Grand99]
7.2 松散初始化模式[Beck97]
7.3 双重检查锁定模式[Schmidt-Harrison96]
7.4 循环展开模式[Grand99]
7.5 查找表模式[Grand99]
第8章 代码健壮模式
8.1 断言测试模式[Grand99]
8.2 担保清除模式[Grand99]
8.3 最大私有化模式[Grand99]
8.4 从存取器方法返回新对象模式[Gold97]
8.5 复制可变参数模式[Pryce98]
第9章 测试模式
9.1 黑盒测试模式[Grand99]
9.2 白盒测试模式[Grand99]
9.3 单元测试模式[Grand99]
9.4 集合测试模式[Grand99]
9.5 系统测试模式[Grand99]
9.6 回归测试模式[Grand99]
9.7 验收测试模式[Grand99]
9.8 静室测试模式[Grand99]
参考书目
附录A Java模式概述
一个优秀的体系架构包含了很多模式,随着模式设计的发展,模式的概念已经深入人心,模式不仅仅在设计中体现,还体现在分析、编码、测试等各个阶段,本书所讨论的正是软件工程各个阶段的软件模式。
软件模式是一种具有可重用性的方案,用来解决软件开发工程中重复出现的问题。它是人们从长期的设计软件、组织软件等实践过程中总结出来的,也是分析问题、管理开发过程的有效工具。同时,软件模式还为我们提供了一种描述抽象事物的标准,可以大大促进软件开发过程中人与人之间的交流。应用软件模式往往使得软件更加简洁、灵活、易于理解且富有灵活性。
本书的作者Mark Grand是分布式系统、面向对象设计和Java领域的专家,而且是“Patterns in Java”(《Java模式》)系列丛书的作者。本书是该系列丛书的第二卷,第一卷主要介绍一般设计模式,第三卷系统介绍了设计模式和体系结构模式,这些模式可应用于分布式和企业应用程序。
本书不同于其他的模式书籍,它包含了多种软件模式,并展示了模式在软件开发各个阶段的重要作用。此外,本书选择了纯面向对象语言Java和统一建模语言(UML)来对模式进行具体描述。
与软件技术和工具一样,模式也是不断发展变化的,当前的模式只是软件发展过程中阶段性的总结和升华,我们还期待着更多、更新的模式的出现。
本书由亢勇、豆庆华、李鹏、张小明、丁伟、陈仕范、丁春庭翻译并整理。由于译者水平有限,疏漏之处在所难免,恳请读者批评指正。