包郵 領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版
-
>
全國計算機(jī)等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版 版權(quán)信息
- ISBN:9787115376756
- 條形碼:9787115376756 ; 978-7-115-37675-6
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版 本書特色
·“領(lǐng)域驅(qū)動設(shè)計之父”經(jīng)典著作 ·眾多聲名顯赫軟件大師鼎力推薦 ·凝聚領(lǐng)域建模專家數(shù)十年的實(shí)戰(zhàn)經(jīng)驗 ·深度剖析構(gòu)建高質(zhì)量復(fù)雜系統(tǒng)的核心技術(shù) 領(lǐng)域模型使開發(fā)人員可以表達(dá)豐富的軟件功能需求,由此實(shí)現(xiàn)的軟件可以滿足用戶真正的需要,因此被公認(rèn)為是軟件設(shè)計的關(guān)鍵所在,其重要性顯而易見。但講述如何將領(lǐng)域模型用于軟件開發(fā)過程的杰出的實(shí)用資料卻不多見。本書正是這一領(lǐng)域聲名顯赫的作品,受到眾多業(yè)界大師的贊美和推介,廣受讀者好評。要通過創(chuàng)建領(lǐng)域模型來加速復(fù)雜的軟件開發(fā),就需要利用大量實(shí)踐和標(biāo)準(zhǔn)模式在開發(fā)團(tuán)隊中形成統(tǒng)一的交流語言;不但要重構(gòu)代碼,而且要重構(gòu)代碼底層的模型;同時采取反復(fù)迭代的敏捷開發(fā)方法,深入理解領(lǐng)域特點(diǎn),促進(jìn)領(lǐng)域?qū)<遗c程序員的良好溝通。針對這些內(nèi)容,本書結(jié)合真實(shí)項目,系統(tǒng)地介紹了領(lǐng)域驅(qū)動開發(fā)的目標(biāo)、意義和方法,充分討論了復(fù)雜系統(tǒng)的建模與設(shè)計問題。本書將指導(dǎo)面向?qū)ο箝_發(fā)人員、系統(tǒng)分析人員和設(shè)計人員合理地組織工作,各有側(cè)重、彼此協(xié)作,有條不紊地進(jìn)行復(fù)雜系統(tǒng)的開發(fā),幫助他們建立豐富而實(shí)用的領(lǐng)域模型,并由此創(chuàng)建長期適用的優(yōu)質(zhì)軟件。
領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版 內(nèi)容簡介
本書是領(lǐng)域驅(qū)動設(shè)計方面的經(jīng)典之作,修訂版更是對之前出版的中文版進(jìn)行了全面的修訂和完善。 全書圍繞著設(shè)計和開發(fā)實(shí)踐,結(jié)合若干真實(shí)的項目案例,向讀者闡述如何在真實(shí)的軟件開發(fā)中應(yīng)用領(lǐng)域驅(qū)動設(shè)計。書中給出了領(lǐng)域驅(qū)動設(shè)計的系統(tǒng)化方法,并將人們普遍接受的一些實(shí)踐綜合到一起,融入了作者的見解和經(jīng)驗,展現(xiàn)了一些可擴(kuò)展的設(shè)計新實(shí)踐、已驗證過的技術(shù)以及便于應(yīng)對復(fù)雜領(lǐng)域的軟件項目開發(fā)的基本原則。
領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版 目錄
第 一部分 運(yùn)用領(lǐng)域模型
第 1章 消化知識 5
1.1 有效建模的要素 9
1.2 知識消化 10
1.3 持續(xù)學(xué)習(xí) 11
1.4 知識豐富的設(shè)計 12
1.5 深層模型 15
第 2章 交流與語言的使用 16
2.1 模式:UBIQUITOUS LANGUAGE 16
2.2 “大聲地”建模 21
2.3 一個團(tuán)隊,一種語言 22
2.4 文檔和圖 24
2.4.1 書面設(shè)計文檔 25
2.4.2 完全依賴可執(zhí)行代碼的情況 27
2.5 解釋性模型 27
第3章 綁定模型和實(shí)現(xiàn) 29
3.1 模式:MODEL-DRIVEN DESIGN 30
3.2 建模范式和工具支持 32
3.3 揭示主旨:為什么模型對用戶到關(guān)重要 38
3.4 模式:HANDS-ON MODELER 39
第 二部分 模型驅(qū)動設(shè)計的構(gòu)造塊
第4章 分離領(lǐng)域 43
4.1 模式:LAYERED ARCHITECTURE 43
4.1.1 將各層關(guān)聯(lián)起來 46
4.1.2 架構(gòu)框架 47
4.2 領(lǐng)域?qū)邮悄P偷木琛?8
4.3 模式:THE SMART UI“反模式” 48
4.4 其他分離方式 50
第5章 軟件中所表示的模型 51
5.1 關(guān)聯(lián) 52
5.2 模式:ENTITY(又稱為REFERENCE OBJECT) 56
5.2.1 ENTITY建模 59
5.2.2 設(shè)計標(biāo)識操作 60
5.3 模式:VALUE OBJECT 62
5.3.1 設(shè)計VALUE OBJECT 64
5.3.2 設(shè)計包含VALUE OBJECT的關(guān)聯(lián) 67
5.4 模式:SERVICE 67
5.4.1 SERVICE與孤立的領(lǐng)域?qū)印?9
5.4.2 粒度 70
5.4.3 對SERVICE的訪問 70
5.5 模式:MODULE(也稱為PACKAGE) 71
5.5.1 敏捷的MODULE 72
5.5.2 通過基礎(chǔ)設(shè)施打包時存在的隱患 73
5.6 建模范式 75
5.6.1 對象范式流行的原因 76
5.6.2 對象世界中的非對象 77
5.6.3 在混合范式中堅持使用MODEL-DRIVEN DESIGN 78
第6章 領(lǐng)域?qū)ο蟮纳芷凇?0
6.1 模式:AGGREGATE 81
6.2 模式:FACTORY 89
6.2.1 選擇FACTORY及其應(yīng)用位置 91
6.2.2 有些情況下只需使用構(gòu)造函數(shù) 93
6.2.3 接口的設(shè)計 94
6.2.4 固定規(guī)則的相關(guān)邏輯應(yīng)放置在哪里 94
6.2.5 ENTITY FACTORY與VALUE OBJECT FACTORY 95
6.2.6 重建已存儲的對象 95
6.3 模式:REPOSITORY 97
6.3.1 REPOSITORY的查詢 101
6.3.2 客戶代碼可以忽略REPOSITORY的實(shí)現(xiàn),但開發(fā)人員不能忽略 102
6.3.3 REPOSITORY的實(shí)現(xiàn) 103
6.3.4 在框架內(nèi)工作 104
6.3.5 REPOSITORY與FACTORY的關(guān)系 104
6.4 為關(guān)系數(shù)據(jù)庫設(shè)計對象 106
第7章 使用語言:一個擴(kuò)展的示例 108
7.1 貨物運(yùn)輸系統(tǒng)簡介 108
7.2 隔離領(lǐng)域:引入應(yīng)用層 110
7.3 將ENTITY和VALUE OBJECT區(qū)別開 110
7.4 設(shè)計運(yùn)輸領(lǐng)域中的關(guān)聯(lián) 112
7.5 AGGREGATE邊界 113
7.6 選擇REPOSITORY 113
7.7 場景走查 115
7.7.1 應(yīng)用程序特性舉例:更改Cargo的目的地 115
7.7.2 應(yīng)用程序特性舉例:重復(fù)業(yè)務(wù) 116
7.8 對象的創(chuàng)建 116
7.8.1 Cargo的FACTORY和構(gòu)造函數(shù) 116
7.8.2 添加Handling Event 117
7.9 停一下,重構(gòu):Cargo AGGREGATE 的另一種設(shè)計 118
7.10 運(yùn)輸模型中的MODULE 120
7.11 引入新特性:配額檢查 122
7.11.1 連接兩個系統(tǒng) 123
7.11.2 進(jìn)一步完善模型:劃分業(yè)務(wù) 124
7.11.3 性能優(yōu)化 125
7.12 小結(jié) 126
第三部分 通過重構(gòu)來加深理解
第8章 突破 131
8.1 一個關(guān)于突破的故事 131
8.1.1 華而不實(shí)的模型 132
8.1.2 突破 133
8.1.3 更深層模型 135
8.1.4 冷靜決策 137
8.1.5 成果 138
8.2 機(jī)遇 138
8.3 關(guān)注根本 138
8.4 后記:越來越多的新理解 139
第9章 將隱式概念轉(zhuǎn)變?yōu)轱@式概念 140
9.1 概念挖掘 140
9.1.1 傾聽語言 140
9.1.2 檢查不足之處 144
9.1.3 思考矛盾之處 148
9.1.4 查閱書籍 148
9.1.5 嘗試,再嘗試 150
9.2 如何為那些不太明顯的概念建模 150
9.2.1 顯式的約束 151
9.2.2 將過程建模為領(lǐng)域?qū)ο蟆?53
9.2.3 模式:SPECIFICATION 154
9.2.4 SPECIFICATION的應(yīng)用和實(shí)現(xiàn) 156
第 10章 柔 性 設(shè) 計 168
10.1 模式:INTENTION-REVEALING
INTERFACES 169
10.2 模式:SIDE-EFFECT-FREE FUNCTION 173
10.3 模式:ASSERTION 177
10.4 模式:CONCEPTUAL CONTOUR 181
10.5 模式:STANDALONE CLASS 184
10.6 模式:CLOSURE OF OPERATION 186
10.7 聲明式設(shè)計 188
10.8 聲明式設(shè)計風(fēng)格 190
10.9 切入問題的角度 197
10.9.1 分割子領(lǐng)域 197
10.9.2 盡可能利用已有的形式 198
第 11章 應(yīng)用分析模式 206
第 12章 將設(shè)計模式應(yīng)用于模型 217
12.1 模式:STRATEGY(也稱為POLICY) 218
12.2 模式:COMPOSITE 221
12.3 為什么沒有介紹FLYWEIGHT 226
第 13章 通過重構(gòu)得到更深層的理解 227
13.1 開始重構(gòu) 227
13.2 探索團(tuán)隊 227
13.3 借鑒先前的經(jīng)驗 228
13.4 針對開發(fā)人員的設(shè)計 229
13.5 重構(gòu)的時機(jī) 229
13.6 危機(jī)就是機(jī)遇 230
第四部分 戰(zhàn)略設(shè)計
第 14章 保持模型的完整性 233
14.1 模式:BOUNDED CONTEXT 235
14.2 模式:CONTINUOUS INTEGRATION 239
14.3 模式:CONTEXT MAP 241
14.3.1 測試CONTEXT的邊界 247
14.3.2 CONTEXT MAP的組織和文檔化 247
14.4 BOUNDED CONTEXT之間的關(guān)系 248
14.5 模式:SHARED KERNEL 248
14.6 模式:CUSTOMER/SUPPLIER DEVELOPMENT TEAM 250
14.7 模式:CONFORMIST 253
14.8 模式:ANTICORRUPTION LAYER 255
14.8.1 設(shè)計ANTICORRUPTION LAYER的接口 256
14.8.2 實(shí)現(xiàn)ANTICORRUPTION LAYER 256
14.8.3 一個關(guān)于防御的故事 259
14.9 模式:SEPARATE WAY 260
14.10 模式:OPEN HOST SERVICE 261
14.11 模式:PUBLISHED LANGUAGE 262
14.12 “大象”的統(tǒng)一 264
14.13 選擇你的模型上下文策略 267
14.13.1 團(tuán)隊決策或更高層決策 268
14.13.2 置身上下文中 268
14.13.3 轉(zhuǎn)換邊界 268
14.13.4 接受那些我們無法更改的事物:描述外部系統(tǒng) 269
14.13.5 與外部系統(tǒng)的關(guān)系 269
14.13.6 設(shè)計中的系統(tǒng) 270
14.13.7 用不同模型滿足特殊需要 270
14.13.8 部署 271
14.13.9 權(quán)衡 271
14.13.10 當(dāng)項目正在進(jìn)行時 272
14.14 轉(zhuǎn)換 272
14.14.1 合并CONTEXT:SEPARATE WAY →SHARED KERNEL 273
14.14.2 合并CONTEXT:SHARED KERNEL→CONTINUOUS INTEGRATION 274
14.14.3 逐步淘汰遺留系統(tǒng) 275
14.14.4 OPEN HOST SERVICE→PUBLISHED LANGUAGE 276
第 15章 精煉 277
15.1 模式:CORE DOMAIN 278
15.1.1 選擇核心 280
15.1.2 工作的分配 280
15.2 精煉的逐步提升 281
15.3 模式:GENERIC SUBDOMAIN 282
15.3.1 通用不等于可重用 286
15.3.2 項目風(fēng)險管理 287
15.4 模式:DOMAIN VISION STATEMENT 287
15.5 模式:HIGHLIGHTED CORE 289
15.5.1 精煉文檔 289
15.5.2 標(biāo)明CORE 290
15.5.3 把精煉文檔作為過程工具 291
15.6 模式:COHESIVE MECHANISM 292
15.6.1 GENERIC SUBDOMAIN與COHESIVE MECHANISM的比較 293
15.6.2 MECHANISM是CORE DOMAIN一部分 294
15.7 通過精煉得到聲明式風(fēng)格 294
15.8 模式:SEGREGATED CORE 295
15.8.1 創(chuàng)建SEGREGATED CORE的代價 296
15.8.2 不斷發(fā)展演變的團(tuán)隊決策 296
15.9 模式:ABSTRACT CORE 301
15.10 深層模型精煉 302
15.11 選擇重構(gòu)目標(biāo) 302
第 16章 大型結(jié)構(gòu) 303
16.1 模式:EVOLVING ORDER 306
16.2 模式:SYSTEM METAPHOR 308
16.3 模式:RESPONSIBILITY LAYER 309
16.4 模式:KNOWLEDGE LEVEL 321
16.5 模式:PLUGGABLE COMPONENT FRAMEWORK 328
16.6 結(jié)構(gòu)應(yīng)該有一種什么樣的約束 332
16.7 通過重構(gòu)得到更適當(dāng)?shù)慕Y(jié)構(gòu) 333
16.7.1 **小化 333
16.7.2 溝通和自律 334
16.7.3 通過重構(gòu)得到柔性設(shè)計 334
16.7.4 通過精煉可以減輕負(fù)擔(dān) 334
第 17章 領(lǐng)域驅(qū)動設(shè)計的綜合運(yùn)用 336
17.1 把大型結(jié)構(gòu)與BOUNDED CONTEXT結(jié)合起來使用 336
17.2 將大型結(jié)構(gòu)與精煉結(jié)合起來使用 339
17.3 首先評估 339
17.4 由誰制定策略 341
17.4.1 從應(yīng)用程序開發(fā)自動得出的結(jié)構(gòu) 341
17.4.2 以客戶為中心的架構(gòu)團(tuán)隊 341
17.5 制定戰(zhàn)略設(shè)計決策的6個要點(diǎn) 342
17.5.1 技術(shù)框架同樣如此 344
17.5.2 注意總體規(guī)劃 345
結(jié)束語
附錄 351
術(shù)語表 354
參考文獻(xiàn) 357
圖片說明 359
索引 360
領(lǐng)域驅(qū)動設(shè)計 軟件核心復(fù)雜性應(yīng)對之道 修訂版 作者簡介
Eric Evans “領(lǐng)域驅(qū)動設(shè)計之父”,世界杰出軟件建模專家。他創(chuàng)建了Domain Language公司,致力于幫助公司機(jī)構(gòu)創(chuàng)建與業(yè)務(wù)緊密相關(guān)的軟件。他在世界各地宣講領(lǐng)域驅(qū)動設(shè)計(Domain-Driven Design,DDD)的思想,開設(shè)課程,參加會議,接受專訪,擁有大批的追隨者。從20世紀(jì)80年代開始,他就以設(shè)計師和程序員的雙重身份參與過許多大型面向?qū)ο笙到y(tǒng)的設(shè)計和開發(fā),涉及各種復(fù)雜的業(yè)務(wù)和技術(shù)領(lǐng)域。同時,他還培訓(xùn)和指導(dǎo)過許多開發(fā)團(tuán)隊開展極限編程實(shí)踐。
- >
苦雨齋序跋文-周作人自編集
- >
龍榆生:詞曲概論/大家小書
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
姑媽的寶刀
- >
自卑與超越
- >
羅曼·羅蘭讀書隨筆-精裝
- >
【精裝繪本】畫給孩子的中國神話
- >
回憶愛瑪儂