王朝百科
分享
 
 
 

反模式危机中软件架构和项目的重构

王朝百科·作者佚名  2010-07-11  
宽屏版  字体: |||超大  

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

反模式危机中软件架构和项目的重构

项目的重构

作者:布朗(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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有