軟件設計:從專業到卓越
張剛 著
- 出版商: 人民郵電
- 出版日期: 2022-06-01
- 售價: $599
- 貴賓價: 9.5 折 $569
- 語言: 簡體中文
- 頁數: 443
- 裝訂: 平裝
- ISBN: 7115589755
- ISBN-13: 9787115589750
-
相關分類:
Design Pattern 、軟體工程
立即出貨
買這商品的人也買了...
-
$880$695 -
$165編程風格 : 好代碼的邏輯 (Exercises in Programming Style)
-
$267圖像工程 (下冊) : 圖像理解, 4/e
-
$403Flink 原理、實戰與性能優化
-
$505ROS 機器人編程實戰 (Robot Operating System Cookbook: Over 70 recipes to help you master advanced ROS concepts)
-
$556Flink 實戰派 (雙色版)
-
$454面向對象的思考過程, 5/e (The Object-Oriented Thought Process, 5/e)
-
$662分佈式架構原理與實踐
-
$648$616 -
$347OKR 實踐手冊
-
$407金融中的人工智能
-
$250IT項目經理進階之道
-
$811最優化模型:線性代數模型、凸優化模型及應用
-
$857游戲設計夢工廠, 4/e
-
$407樂高EV3機器人初級教程(第二版)
-
$356讀源碼學架構:系統架構師思維訓練之道
-
$560Flink核心技術(源碼剖析與特性開發)
-
$774$735 -
$714$678 -
$607Python 數據清洗
-
$556圖機器學習
-
$301邊緣計算技術與應用
-
$403概率數據結構與算法:面向大數據應用
-
$607ROS 2 機器人編程實戰:基於現代 C++ 和 Python 3
-
$594$564
相關主題
商品描述
本書介紹了高效的軟件設計和編程方法,把精益需求分析、領域驅動設計、面向對象、契約式設計、測試驅動開發、
意圖導向編程及演進式設計等編程實踐融會貫通,深入洞察軟件設計本質,展示了一個清晰的程序員編程能力提昇路線圖。
全書共十二章,按照程序員技能提升的順序,分為品味篇、專業篇和高效篇。
本書適合各種編程語言的一線開發者、大學計算機和軟件工程相關專業三年級以上本科生或研究生閱讀,
也適合專業的軟件開發團隊作為統一編程範式、提升設計意識和能力的參考書。
作者簡介
張剛
軟件工程博士、資深技術專家、CCF 軟件工程委員會執行委員、
貝爾實驗室傑出工程師。
先後任職於阿爾卡特朗訊、上海理工大學和阿里巴巴。
20 餘年軟件開發、架構設計和技術領導者的成功經驗,
先進軟件工程方法與實踐的持續探索者和積極傳播者。
目錄大綱
目錄
品味篇識別優秀設計
第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