模式是可以复用的优秀解决方案。本书从一个新的角度审视模式,提出了反模式的概念,介绍了在软件开发中常常出现的问题——将设计模式错误应用于不适当的上下文环境。首先,定义了软件开发参考模型和文档模板来说明这些反模式。然后,从开发人员角度、架构角度和管理角度三个方面对这些反模式逐一说明,并说明了与特定反模式相关的背景、原因、症状和后果,让读者可以迅速地检验身边的项目是否出现了这些状况,同时也针对每个反模式给出了相应的解决方案。 \r\n 本书适用于从事项目管理和软件开发的相关人员。
第一部分 反模式绪论\r\n 第1章 模式与反模式简介 \r\n 1.1 反模式就是揭露假象 \r\n 1.2 反模式的概念 \r\n 1.3 反模式的由来 \r\n 1.4 本书组织结构 \r\n 第2章 反模式参考模型 \r\n 2.1 视角 \r\n 2.2 根源 \r\n 2.2.1 匆忙 \r\n 2.2.2 漠然 \r\n 2.2.3 思想狭隘 \r\n 2.2.4 懒惰 \r\n 2.2.5 贪婪 \r\n 2.2.6 无知 \r\n 2.2.7 自负 \r\n 2.3 原力 \r\n 2.4 软件设计层次模型 \r\n 2.4.1 对象层 \r\n 2.4.2 微架构层 \r\n 2.4.3 框架层 \r\n 2.4.4 应用层 \r\n 2.4.5 系统层 \r\n 2.4.6 企业层 \r\n 2.4.7 全球层 \r\n 2.4.8 设计层次小结 \r\n 2.5 架构规模和原力 \r\n 第3章 模式和反模式的模板 \r\n 3.1 退化形式 \r\n 3.2 Alexander形式 \r\n 3.3 最小化模板(微型模式) \r\n 3.4 小型模式模板 \r\n 3.4.1 归纳式小型模式 \r\n 3.4.2 演绎式小型模式 \r\n 3.5 正式模板 \r\n 3.5.1 GoF模板 \r\n 3.5.2 模式系统模板\r\n 3.6 对设计模式模板的反思 \r\n 3.7 反模式模板 \r\n 3.7.1 伪反模式模板 \r\n 3.7.2 小型反模式 \r\n 3.8 完整的反模式模板 \r\n 第4章 对使用反模式的建议\r\n 4.1 机能不良环境\r\n 4.2 反模式与变化 \r\n 4.3 编写新反模式 \r\n 4.4 小结 \r\n第二部分 反模式\r\n 第5章 软件开发性反模式 \r\n 第6章 软件架构性反模式\r\n 第7章 软件项目管理性反模式\r\n第三部分 结论和资源
我们非常荣幸地受邀来为这本有关反模式的书作序。第一次听别人提到这个术语时,我们更多的是迷惑。除非你已经了解反模式是什么,否则很可能也会感到不解。但在更深入的研究之后,我们发现这确实是一个有趣的主题,并且具有巨大的实际价值。
我们中的大多数人都相当熟悉(或者至少听说过)设计模式的概念,无论是在软件开发环境中还是在别的环境中。设计模式这一术语本身是无须解释的:设计是过去(经过实践)被证实可以取得成功,因此可以成功地复用的。
但什么是反模式?它是某种不是设计模式的东西吗?或者是以前没有被采用过,缺乏稳健设计的做法?还是那些不起作用的东西?使用设计模式时可以通过复用经过试验和测试的设计来节省金钱、时间和精力,而漫不经心地应用反模式则会导致完全相反的后果。
在英文中,pattern(模式)一词可以是:对重复使用的配件的特定排列;用来指导布料裁减的设计或形状;一个模型或样品。但是pattern也可以是一种行为。本书的作者们见证了生活的各个方面(尤其是软件开发)中行为的负面模式,可能更引人注意的是,这些负面模式在各种规模和层次的经历中都会出现。
反模式可以告诉你要避免哪些情况,而确定要避免哪些情况对成功的软件开发是非常关键的。本书详细说明了与软件相关的反模式的多种类别,并以幽默轻松的方式指出了应该尽量避免的各种软件设计反模式、架构反模式和管理行为反模式。
Jack Hassall / John Eaton
对象管理组织(OMG)
金融领域特别工作组联合主席
William J.Brown曾任Saga软件公司研发总监和OMG金融业工作组主席。擅长金融行业大型软件系统的开发。
无封面