第1部分 麵嚮對象基礎 1
第1章 麵嚮對象概述 3
1.1 程序設計思想的發展 3
1.2 麵嚮對象語言的發展曆史 6
1.3 麵嚮過程 8
1.4 麵嚮對象 9
1.5 為什麼要麵嚮對象 11
1.6 麵嚮對象的應用範圍 12
1.7 麵嚮對象的迷思 13
1.7.1 麵嚮對象會導緻性能降低? 13
1.7.2 麵嚮對象語言=麵嚮對象編程? 14
1.8 小結 16
第2章 麵嚮對象理論 17
2.1 類 17
2.2 對象 23
2.3 接口 26
2.4 抽象類 31
2.5 抽象 32
2.6 三大核心特徵 34
2.6.1 封裝 34
2.6.2 繼承 44
2.6.3 多態 46
2.7 小結 50
第2部分 麵嚮對象實戰 53
第3章 麵嚮對象分析和設計全流程概述 55
第4章 需求模型 57
4.1 需求詳解 57
4.2 需求的重要性 59
4.3 需求分析 60
4.3.1 需求分析的目的 60
4.3.2 需求分析的方法 63
4.4 用例方法 69
4.4.1 用例的具體寫法 70
4.4.2 要畫圖嗎 74
4.5 功能 75
4.6 用例圖的陷阱 78
4.7 SSD 79
4.8 FAQ 81
4.9 小結 82
第5章 領域模型 84
5.1 領域建模三字經 84
5.2 找名詞 85
5.3 加屬性 87
5.4 連關係 88
5.5 FAQ 89
5.6 小結 90
第6章 設計模型 91
6.1 設計模型總覽 91
6.2 類模型 92
6.2.1 第一步(照貓畫虎):領域類映射 93
6.2.2 第二步(精雕細琢):應用設計原則和設計模式 101
6.2.3 第三步(照本宣科):拆分輔助類 105
6.3 動態模型 106
6.3.1 模型分類 106
6.3.2 建模實踐 108
6.3.3 建模技巧 110
6.4 小結 111
第7章 實現模型 112
7.1 編程語言的差異性 112
7.2 C++ 113
7.2.1 類 113
7.2.2 訪問控製 114
7.2.3 繼承 117
7.2.4 多態 126
7.2.5 抽象類 130
7.2.6 接口 135
7.3 Java 136
7.3.1 類 137
7.3.2 訪問控製 138
7.3.3 繼承 142
7.3.4 多態 144
7.3.5 抽象類 146
7.3.6 接口 150
7.4 小結 152
第3部分 麵嚮對象技巧 153
第8章 設計原則 155
8.1 內聚 155
8.1.1 內聚究竟是什麼 155
8.1.2 內聚的分類 157
8.2 耦閤 168
8.2.1 耦閤究竟是什麼 168
8.2.2 耦閤的分類 169
8.3 高內聚低耦閤 180
8.4 類設計原則 188
8.4.1 SRP 188
8.4.2 OCP 191
8.4.3 LSP 193
8.4.4 ISP 197
8.4.5 DIP 202
8.4.6 如何應用設計原則 209
8.4.7 NOP 210
8.5 小結 211
第9章 設計模式 212
9.1 設計模式簡介 212
9.2 設計模式隻是一把錘子 213
9.3 設計模式之道 214
9.3.1 知易行難——設計模式應用的問題 214
9.3.2 撥雲見日——尋找設計模式之道 215
9.3.3 庖丁解牛——解析設計模式之道 217
9.3.4 舉一反三——活學活用設計模式之道 218
9.4 原則VS模式 219
9.5 模式詳解 225
9.5.1 Prototype模式 226
9.5.2 Decorator模式 238
9.5.3 Facade模式 250
9.5.4 Observer模式 264
9.6 小結 274
第10章 UML 275
10.1 UML簡介 275
10.2 UML隻是語言 275
10.3 UML應用 277
10.4 需求分析階段 278
10.4.1 用例圖 278
10.4.2 用例圖的關係 281
10.5 設計階段 284
10.5.1 類圖 284
10.5.2 類關係圖 288
10.5.3 動態圖 305
10.5.4 結構圖 318
10.6 部署階段 320
10.7 小結 322
第4部分 麵嚮對象架構設計 325
第11章 麵嚮對象架構設計基礎 327
11.1 什麼是架構 327
11.2 麵嚮對象的架構設計 329
11.3 小結 330
第12章 麵嚮對象架構設計流程 332
12.1 架構設計總體思想 332
12.2 業務架構 333
12.2.1 全新的業務係統 333
12.2.2 已有架構優化 335
12.2.3 業務架構實例:京西商城 336
12.3 領域架構 337
12.4 軟件架構 338
12.4.1 第一步:照貓畫虎 338
12.4.2 第二步:按圖索驥 340
12.4.3 第三步:深思熟慮 342
12.5 小結 344
第13章 麵嚮對象架構設計技巧 345
13.1 架構設計原則 345
13.1.1 客戶需求優先原則 345
13.1.2 適當超前原則 347
13.2 架構設計屠龍刀 350
13.2.1 “拆”與“閤” 350
13.2.2 “拆”的常見手段 352
13.2.3 “閤”的常見手段 362
13.3 優秀架構師特質:創新 366
13.4 小結 367
· · · · · · (
收起)
《麵嚮對象葵花寶典:思想、技巧與實踐》係統地講述瞭麵嚮對象技術的相關內容,包括麵嚮對象的基本概念、麵嚮對象開發的流程、麵嚮對象的各種技巧,以及如何應用麵嚮對象思想進行架構設計。在講述相關知識或技術的時候,除瞭從“是什麼”這個角度進行介紹外,更加著重於從“為什麼”和“如何用”這兩個角度進行剖析,力爭讓讀者做到“知其然,並知其所以然”,從而達到在實踐中既能正確又能優秀地應用麵嚮對象的相關技術和技巧。
《麵嚮對象葵花寶典:思想、技巧與實踐》的內容涵蓋廣泛,無論讀者已有的水平如何,都能夠從書中獲益。
如果你是剛入門的程序員,書中有詳盡的和通俗易懂的概念和方法介紹,有完整的麵嚮對象開發流程,讓你能夠快速掌握麵嚮對象開發的基本技巧,從容不迫地完成開發任務;
如果你有瞭一定經驗,能夠熟練應用各種麵嚮對象技術和技巧,但卻沒有深入地去探索,書中有獨闢蹊徑的解讀,能夠讓你“知其然,並知其所以然”;
如果你已經成為瞭麵嚮對象的大牛程序員,但苦於不能繼續提升,書中有“麵嚮對象架構設計”的點石成金術,讓你從程序員秒變架構師。