作 者:張剛 著
定 價:99.8
出 版 社:人民郵電出版社
出版日期:2022年06月01日
頁 數:364
裝 幀:平裝
ISBN:9787115589750
1.軟件設計的進階指南讀者可以按順序閱讀本書的各章節。也可以按照需要在各章節之間跳轉。由於每一位開發者或多或少地接觸過某些知識點,所以本書的各章節盡量做到彼此獨立。此外,書末包含索引,在其中可以找到各主要概念在本書中出現的位置。2.編程能力提升路線圖本書被設計為一個“藏寶圖”。它提供一個路線圖,引導讀者找到所需的寶藏。在保證每個部分介紹的內容是完整的基礎上,我刻意控制了每章的篇幅,把更具體的內容和做法指引到該領域的參考文獻。讀者們可以通過參考文獻的線索以及自主的知識檢索,深入了解其中的關等
●品味篇識別優秀設計
第1章優質代碼的外部特征2
1.1實現了期望的功能2
1.2缺陷盡量少6
1.3易於理解8
1.4易於演進11
1.5易於復用13
1.6小結14
第2章優質代碼的內在特征16
2.1一致的編碼風格16
2.2有意義的命名19
2.3簡潔的行為實現24
2.4高內聚和低耦合的模塊化結構28
2.5沒有重復37
2.6沒有多餘的設計42
2.7具備自動化測試45
2.8小結47
專業篇建立扎實功底
第3章高質量的需求52
3.1用結構化的方法分析需求52
3.2定義業務目標58
3.3探索業務流程,定義繫統功能61
3.4完善操作步驟,澄清業務規則68
3.5小結77
第4章領域建模79
4.1領域模型的概念79
4.2捕獲業務概念85
4.3辨析業務概念85
4.4持續演進業務概念91
4.5用領域模型指導軟件開發95
4.6小結97
第5章設計分解和責任分配99
5.1通過分而治之管理復雜性99
5.2架構分解的原則與模式105
5.3正確使用語言特性110
5.4關注點分離116
5.5設計模式119
5.6小結124
第6章依賴、接口和契約126
6.1依賴的設計原則126
6.2需求方接口134
6.3提供方接口142
6.4設計契約145
6.5事件機制151
6.6小結156
很好篇實現高效編碼
第7章用測試描述需求和契約160
7.1將測試作為一個建設性活動160
7.2從V模型到I模型161
7.3用測試澄清和文檔化需求164
7.4用測試澄清職責和契約170
7.5測試先行174
7.6小結180
第8章用領域模型指導實現182
8.1用領域模型指導實現182
8.2基本構造塊188
8.3聚合、資源庫和工廠196
8.4分層架構和代碼結構208
8.5限界上下文211
8.6上下文映射213
8.7領域模型的持續演進217
8.8小結219
第9章由外而內的設計221
9.1如何由外而內221
9.2由外而內設計的優勢235
9.3應用測試替身238
9.4測試先行和由外而內247
9.5把由外而內應用於大規模的項目249
9.6小結261
第10章設計質量貫穿始終263
10.1質量內建263
10.2契約式設計和防御式編程265
10.3高質量的自動化測試273
10.4代碼評審和結對編程285
10.5代碼質量度量和問題檢測288
10.6小結300
第11章讓設計持續演進302
11.1軟件設計的演進本質302
11.2簡單設計305
11.3重構310
11.4測試驅動開發318
11.5持續集成330
11.6小結332
第12章精益思想和高效編程334
12.1精益思想334
12.2精益思想和軟件設計的關繫337
12.3總結340
參考文獻345
索引349
本書介紹了高效的軟件設計和編程方法,把精益需求分析、領城驅動設計、面向對像編程、契約式設計、測試驅動開發、意圖導向編程及演進式設計等編程實踐融會貫通,深入洞察軟件設計的本質,為軟件工程師展示了一個清晰的“編程能力提升路線圖"。本書適合各種編程語言的一線開發者、計算機和軟件工程相關專業三年級及以上的本科生和研究生閱讀,也適合專業的軟件開發團隊參考。
張剛 著
張剛,軟件工程博士、資深技術專家、CCF 軟件工程委員會執行委員、貝爾實驗室傑出工程師。先後任職於阿爾卡特朗訊、上海理工大學和阿裡巴巴。20 餘年軟件開發、架構設計和技術領導者的成功經驗,優選軟件工程方法與實踐的持續探索者和積極傳播者。