反模式危機中軟體架構和項目的重構

反模式危機中軟體架構和項目的重構

《反模式危機中軟體架構和項目的重構》作者:布朗(WilliamJ.Brown)(美)等。由人民郵電出版社2008年出版,本書從一個新的角度審視模式,提出了反模式的概念,介紹了在軟體開發中常常出現的問題——將設計模式錯誤套用於不適當的上下文環境。讓讀者可以迅速地檢驗身邊的項目是否出現了這些狀況,同時也針對每個反模式給出了相應的解決方案。本書適用於從事項目管理和軟體開發的相關人員。

基本介紹

  • 中文名:反模式危機中軟體架構和項目的重構
  • 出版社人民郵電出版社
  • 出版時間:2008
  • ISBN:9787115162793
版權資訊,內容簡介,目錄,第一部分 反模式緒論,第二部分 反模式,第三部分 結論和資源,

版權資訊

書 名: 反模式危機中軟體架構和項目的重構
作 者:布朗(WilliamJ.Brown)(美)等
開本: 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.2 Alexander形式 36
3.3 最小化模板(微型模式) 36
3.4 小型模式模板 36
3.4.1 歸納式小型模式 37
3.4.2 演繹式小型模式 37
3.5 正式模板 37
3.5.1 GoF模板 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.3 The 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.4 Lava 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.5 Functional 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.6 Poltergeist(惡作劇鬼) 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.7 Golden 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.8 Spaghetti 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.9 Cut-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.2 Stovepipe 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.3 Stovepipe 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.4 Vendor 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.5 Architecture 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.6 Design 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.7 Reinvent 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.3 Analysis 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.4 Death 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.5 Corncob(玉米棒子) 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.6 Irrational 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.7 Project 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
4.4 小結 46

第二部分 反模式

第5章 軟體開發性反模式 49
5.1 軟體重構 49
5.2 開發性反模式摘要 50
5.3 The 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.4 Lava 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.5 Functional 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.6 Poltergeist(惡作劇鬼) 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.7 Golden 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.8 Spaghetti 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.9 Cut-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.2 Stovepipe 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.3 Stovepipe 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.4 Vendor 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.5 Architecture 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.6 Design 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.7 Reinvent 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.3 Analysis 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.4 Death 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.5 Corncob(玉米棒子) 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.6 Irrational 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.7 Project 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

相關詞條

熱門詞條

聯絡我們