反模式危机中软件架构和项目的重构
版权信息书 名: 反模式危机中软件架构和

项目的重构
作者:布朗(WilliamJ.Brown)(美)等
出版社:人民邮电出版社
出版时间: 2008
ISBN: 9787115162793
开本: 16
定价: 45.00 元
内容简介模式是可以复用的优秀解决方案。本书从一个新的角度审视模式,提出了反模式的概念,介绍了在软件开发中常常出现的问题——将设计模式错误应用于不适当的上下文环境。首先,定义了软件开发参考模型和文档模板来说明这些反模式。然后,从开发人员角度、架构角度和管理角度三个方面对这些反模式逐一说明,并说明了与特定反模式相关的背景、原因、症状和后果,让读者可以迅速地检验身边的项目是否出现了这些状况,同时也针对每个反模式给出了相应的解决方案。
本书适用于从事项目管理和软件开发的相关人员。
编辑推荐模式是可以复用的优秀解决方案。本书从一个新的角度审视模式,提出了反模式的概念,介绍了在软件开发中常常出现的问题——将设计模式错误应用于不适当的上下文环境。首先,定义了软件开发参考模型和文档模板来说明这些反模式。然后,从开发人员角度、架构角度和管理角度三个方面对这些反模式逐一说明,并说明了与特定反模式相关的背景、原因、症状和后果,让读者可以迅速地检验身边的项目是否出现了这些状况,同时也针对每个反模式给出了相应的解决方案。
本书适用于从事项目管理和软件开发的相关人员。
目录第一部分反模式绪论
第1章模式与反模式简介3
1.1反模式就是揭露假象3
1.2反模式的概念6
1.3反模式的由来7
1.4本书组织结构10
第2章反模式参考模型11
2.1视角13
2.2根源14
2.2.1匆忙14
2.2.2漠然15
2.2.3思想狭隘16
2.2.4懒惰16
2.2.5贪婪17
2.2.6无知18
2.2.7自负18
2.3原力19
2.4软件设计层次模型25
2.4.1对象层28
2.4.2微架构层28
2.4.3框架层28
2.4.4应用层29
2.4.5系统层29
2.4.6企业层31
2.4.7全球层32
2.4.8设计层次小结32
2.5架构规模和原力33
第3章模式和反模式的模板35
3.1退化形式35
3.2Alexander形式36
3.3最小化模板(微型模式)36
3.4小型模式模板36
3.4.1归纳式小型模式37
3.4.2演绎式小型模式37
3.5正式模板37
3.5.1GoF模板37
3.5.2模式系统模板38
3.6对设计模式模板的反思38
3.7反模式模板39
3.7.1伪反模式模板40
3.7.2小型反模式40
3.8完整的反模式模板40
第4章对使用反模式的建议43
4.1机能不良环境43
4.2反模式与变化44
4.3编写新反模式45
4.4小结46
第二部分反模式
第5章软件开发性反模式49
5.1软件重构49
5.2开发性反模式摘要50
5.3The Blob(胖球)52
5.3.1背景52
5.3.2一般形式53
5.3.3症状和后果54
5.3.4典型原因54
5.3.5已知例外55
5.3.6重构方案55
5.3.7变化58
5.3.8对其他视角和规模的适用性59
5.3.9示例59
5.4Lava Flow(岩浆流)62
5.4.1背景62
5.4.2一般形式63
5.4.3症状和后果65
5.4.4典型原因65
5.4.5已知例外66
5.4.6重构方案66
5.4.7示例66
5.4.8相关解决方案67
5.4.9对其他视角和规模的适用性67
5.5Functional Decomposition(功能分解)69
5.5.1背景69
5.5.2一般形式69
5.5.3症状和后果69
5.5.4典型原因70
5.5.5已知例外70
5.5.6重构方案70
5.5.7示例71
5.5.8相关解决方案72
5.5.9对其他视角和规模的适用性72
5.6Poltergeist(恶作剧鬼)73
5.6.1背景73
5.6.2一般形式73
5.6.3症状和后果74
5.6.4典型原因75
5.6.5已知例外75
5.6.6重构方案75
5.6.7示例75
5.6.8相关解决方案76
5.6.9对其他视角和规模的适用性76
5.7Golden Hammer(金锤)78
5.7.1背景78
5.7.2一般形式79
5.7.3症状和后果79
5.7.4典型原因79
5.7.5已知例外79
5.7.6重构方案80
5.7.7变化81
5.7.8示例81
5.7.9相关方案81
5.8Spaghetti Code(面条代码)83
5.8.1背景83
5.8.2一般形式83
5.8.3症状和后果83
5.8.4典型原因84
5.8.5已知例外84
5.8.6重构方案84
5.8.7示例86
5.8.8相关解决方案89
5.9Cut-And-Paste Programming(剪贴编程)92
5.9.1背景92
5.9.2一般形式92
5.9.3症状和后果92
5.9.4典型原因93
5.9.5已知例外93
5.9.6重构方案93
5.9.7示例94
5.9.8相关解决方案95
第6章软件架构性反模式97
6.1架构性反模式摘要98
6.2Stovepipe Enterprise(烟囱企业)100
6.2.1背景100
6.2.2一般形式100
6.2.3症状和后果101
6.2.4典型原因101
6.2.5已知例外101
6.2.6重构方案102
6.2.7示例105
6.2.8相关解决方案106
6.2.9对其他视角和规模的适用性107
6.3Stovepipe System(烟囱系统)108
6.3.1背景108
6.3.2一般形式108
6.3.3症状和后果109
6.3.4典型原因109
6.3.5已知例外109
6.3.6重构方案109
6.3.7示例110
6.3.8相关解决方案112
6.3.9对其他视角和规模的适用性112
6.4Vendor Lock-In(供应商锁定)113
6.4.1背景113
6.4.2一般形式114
6.4.3症状和后果114
6.4.4典型原因114
6.4.5已知例外115
6.4.6重构方案115
6.4.7变化116
6.4.8示例117
6.4.9相关解决方案117
6.4.10对其他视角和规模的适用性117
6.5Architecture By Implication(实现主导架构)120
6.5.1背景120
6.5.2一般形式120
6.5.3症状和后果121
6.5.4典型原因121
6.5.5已知例外121
6.5.6重构方案122
6.5.7变化123
6.5.8示例123
6.5.9相关解决方案124
6.5.10对其他视角和规模的适用性124
6.6Design By Committee(委员会设计)126
6.6.1背景126
6.6.2一般形式126
6.6.3症状和后果126
6.6.4典型原因127
6.6.5已知例外127
6.6.6重构方案127
6.6.7变化129
6.6.8示例129
6.6.9相关解决方案、模式和反模式131
6.6.10对其他视角和规模的适用性132
6.7Reinvent The Wheel(重新发明轮子)134
6.7.1背景134
6.7.2一般形式134
6.7.3症状和后果135
6.7.4典型原因135
6.7.5已知例外135
6.7.6重构方案135
6.7.7变化136
6.7.8示例137
6.7.9相关解决方案139
6.7.10对其他视角和规模的适用性139
第7章软件项目管理性反模式141
7.1管理角色的转变141
7.2管理性反模式摘要142
7.3Analysis Paralysis(分析瘫痪)145
7.3.1背景145
7.3.2一般形式145
7.3.3症状和后果146
7.3.4典型原因146
7.3.5已知例外147
7.3.6重构方案147
7.4Death By Planning(规划致死)149
7.4.1背景149
7.4.2一般形式149
7.4.3症状和后果151
7.4.4典型原因152
7.4.5已知例外152
7.4.6重构方案152
7.4.7变化154
7.4.8示例156
7.4.9相关解决方案157
7.4.10对其他视角和规模的适用性158
7.5Corncob(玉米棒子)159
7.5.1背景159
7.5.2一般形式159
7.5.3症状和后果159
7.5.4典型原因160
7.5.5已知例外160
7.5.6重构方案160
7.5.7变化161
7.5.8示例163
7.5.9相关解决方案163
7.5.10对其他视角和规模的适用性163
7.6Irrational Management(非理性管理)165
7.6.1背景165
7.6.2一般形式165
7.6.3症状和后果166
7.6.4典型原因166
7.6.5已知例外166
7.6.6重构方案166
7.6.7变化169
7.6.8示例169
7.7Project Mismanagement(项目管理不善)172
7.7.1背景172
7.7.2一般形式172
7.7.3症状和后果173
7.7.4典型原因173
7.7.5已知例外173
7.7.6重构方案173
7.7.7变化174
7.7.8示例175
7.7.9相关解决方案176
第三部分结论和资源
附录A反模式大纲181
附录B反模式术语表187
附录C缩略语191
附录D参考文献193
索引199