注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)領(lǐng)域驅(qū)動設(shè)計:軟件核心復(fù)雜性應(yīng)對之道

領(lǐng)域驅(qū)動設(shè)計:軟件核心復(fù)雜性應(yīng)對之道

領(lǐng)域驅(qū)動設(shè)計:軟件核心復(fù)雜性應(yīng)對之道

定 價:¥48.00

作 者: (美)伊文斯(Evans, E.)著;陳大峰譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 軟件設(shè)計

ISBN: 9787302115762 出版時間: 2006-03-01 包裝: 平裝
開本: 16開 頁數(shù): 390 字?jǐn)?shù):  

內(nèi)容簡介

“每個有思想的軟件開發(fā)者的書架上都應(yīng)該有這樣一本書”——KentBeck“Eric設(shè)法收集了經(jīng)驗豐富的對象設(shè)計人員一直使用的一些設(shè)計過程,作為一個團(tuán)隊的人們在這些過程中卻沒能夠成功地完成剩下的工作。人們將知識弄得支離破碎……卻從來沒有將建立領(lǐng)域邏輯的原則組織起來并使其系統(tǒng)化。這本書是非常重要的?!薄狵yleBrown,《EnterpriseJavaProgrammingwithIBMWebSphere》的作者。本書涉及的主題具體包括:●隔離領(lǐng)域●實體、值對象、服務(wù)和模塊●一個領(lǐng)域?qū)ο蟮纳芷凇駥⑦^程表示為領(lǐng)域?qū)ο蟆駝?chuàng)建沒有副作用的函數(shù)●總體輪廓●獨立的類●擴(kuò)展說明●應(yīng)用分析模式●將設(shè)計模式與模型相聯(lián)系●維護(hù)模型的完整性●設(shè)計領(lǐng)域前景聲明●選擇重構(gòu)目標(biāo)●職責(zé)層次●創(chuàng)建可插入的組件框架●結(jié)合大比例結(jié)構(gòu)與界限上下文本書為讀者系統(tǒng)地介紹了領(lǐng)域驅(qū)動的設(shè)計方法。書中介紹了大量優(yōu)秀的設(shè)計示例、基于經(jīng)驗的技術(shù)以及促進(jìn)處理復(fù)雜領(lǐng)域的軟件開發(fā)的基本原則。本書將設(shè)計和開發(fā)實踐相結(jié)合,在介紹領(lǐng)域驅(qū)動設(shè)計時,還提供了大量的Java示例,這些例子都是從實際中提取出來的,展示了領(lǐng)域驅(qū)動設(shè)計在軟件開發(fā)中的實際應(yīng)用。通過對本書的閱讀,讀者將獲得對領(lǐng)域驅(qū)動設(shè)計的總體認(rèn)識,了解領(lǐng)域驅(qū)動設(shè)計中涉及的關(guān)鍵原則、術(shù)語和推斷。本書介紹的經(jīng)驗和標(biāo)準(zhǔn)模式將為開發(fā)團(tuán)隊提供一種通用語言。另外,書中還介紹了如何在領(lǐng)域模型中進(jìn)行重構(gòu),如何與敏捷開發(fā)進(jìn)行集成,如何獲得對領(lǐng)域更深的認(rèn)識并增進(jìn)領(lǐng)域?qū)<液统绦騿T之間的交流等。并在此基礎(chǔ)上,介紹了在復(fù)雜系統(tǒng)和較大組織中進(jìn)行的領(lǐng)域驅(qū)動設(shè)計。

作者簡介

  陳大峰,國防科技大學(xué)計算機(jī)與技術(shù)博士,研究方向;分布式計算;研究課題為過程集成工作流。對UML建模、EDOC、工作流和過程集成有深入的研究,曾發(fā)表多篇論文和專業(yè)文章。目前擔(dān)任某消息代理中間件產(chǎn)品開發(fā)組長,一直使用UML作為設(shè)計工具和溝通工具,并取得顯著成果。

圖書目錄

第Ⅰ部分  讓領(lǐng)域模型發(fā)揮作用
第1章  消化知識    5
1.1  有效建模的因素    9
1.2  知識消化    10
1.3  持續(xù)學(xué)習(xí)    11
1.4  知識豐富的設(shè)計    12
1.5  深層模型    15
第2章  交流及語言的使用    17
2.1  通用語言    17
2.2  利用對話改進(jìn)模型    22
2.3  一個團(tuán)隊,一種語言    24
2.4  文檔和圖    25
2.4.1  書面的設(shè)計文檔    27
2.4.2  執(zhí)行的基礎(chǔ)    29
2.5  說明性模型    29
第3章  將模型和實現(xiàn)綁定    32
3.1  模型驅(qū)動設(shè)計    33
3.2  建模范型和工具支持    36
3.3  突出主旨:為什么模型對
用戶很關(guān)鍵    41
3.4  實踐型建模人員    43
第Ⅱ部分  模型驅(qū)動設(shè)計的構(gòu)建塊
第4章  分離領(lǐng)域    47
4.1  分層架構(gòu)    47
4.1.1  層間的聯(lián)系    51
4.1.2  架構(gòu)框架    51
4.2  模型屬于領(lǐng)域?qū)?nbsp;   52
4.3  其他種類的隔離    55
第5章  軟件中的模型描述    56
5.1  關(guān)聯(lián)    57
5.2  實體(又稱引用對象)    62
5.2.1  實體建模    65
5.2.2  設(shè)計標(biāo)識操作    66
5.3  值對象    68
5.3.1  設(shè)計值對象    71
5.3.2  設(shè)計包含值對象的關(guān)聯(lián)    73
5.4  服務(wù)    74
5.4.1  服務(wù)和分隔的領(lǐng)域?qū)?nbsp;   75
5.4.2  粒度    77
5.4.3  訪問服務(wù)    77
5.5  模塊(包)    77
5.5.1  敏捷的模塊    79
5.5.2  基礎(chǔ)結(jié)構(gòu)驅(qū)動打包的缺陷    80
5.6  建模范式    82
5.6.1  對象范式的優(yōu)勢    82
5.6.2  對象世界中的非對象    84
5.6.3  在混合范式中使用模型
驅(qū)動設(shè)計    85
第6章  領(lǐng)域?qū)ο蟮纳芷?nbsp;   87
6.1  聚合    88
6.2  工廠    96
6.2.1  工廠及其應(yīng)用場所的選擇99
6.2.2  只需構(gòu)造函數(shù)的情況    101
6.2.3  接口的設(shè)計    102
6.2.4  如何放置不變量的邏輯    103
6.2.5  實體工廠與值對象工廠    103
6.2.6  存儲對象的重建    103
6.3  倉儲    105
6.3.1  查詢倉儲    109
6.3.2  了解倉儲實現(xiàn)的必要性    111
6.3.3  實現(xiàn)倉儲    111
6.3.4  在框架內(nèi)工作    113
6.3.5  與工廠的關(guān)系    113
6.4  為關(guān)系數(shù)據(jù)庫設(shè)計對象    115
第7章  使用語言:擴(kuò)展示例    117
7.1  貨物運輸系統(tǒng)概述    117
7.2  隔離領(lǐng)域:系統(tǒng)簡介    119
7.3  區(qū)分實體和值對象    120
7.4  運輸領(lǐng)域中的關(guān)聯(lián)設(shè)計    121
7.5  聚合的邊界    123
7.6  選擇倉儲    124
7.7  場景概述    125
7.7.1  應(yīng)用特性示例:改變一件貨物的目的地126
7.7.2  應(yīng)用特性示例:重復(fù)業(yè)務(wù)126
7.8  對象的創(chuàng)建    126
7.8.1  Cargo的工廠和構(gòu)造函數(shù)    126
7.8.2  添加一個Handling Event127
7.9  停下來重構(gòu):Cargo聚合
的另一種設(shè)計    129
7.10  運輸模型中的模塊    131
7.11  引入新特性:配額檢查    133
7.11.1  連接兩個系統(tǒng)    134
7.11.2  改進(jìn)模型:劃分業(yè)務(wù)    135
7.11.3  性能調(diào)整    137
7.12  小結(jié)    137
第Ⅲ部分  面向更深層解的重構(gòu)
第8章  突破    143
8.1  關(guān)于突破的故事    144
8.1.1  中看不中用的模型    144
8.1.2  突破    146
8.1.3  更深層的模型    148
8.1.4  冷靜的決定    149
8.1.5  成效    150
8.2  時機(jī)    150
8.3  著眼于根本    151
8.4  尾聲:一連串的新理解    151
第9章  隱含概念轉(zhuǎn)變?yōu)轱@式概念    153
9.1  概念挖掘    153
9.1.1  傾聽表達(dá)用語    154
9.1.2  檢查不協(xié)調(diào)之處    157
9.1.3  研究矛盾之處    162
9.1.4  查閱書籍    162
9.1.5  嘗試,再嘗試    164
9.2  如何建模不太明顯的概念    164
9.2.1  顯式的約束    165
9.2.2  作為領(lǐng)域?qū)ο蟮牧鞒?nbsp;   167
9.2.3  規(guī)格    168
9.2.4  規(guī)格的應(yīng)用和實現(xiàn)    171
第10章  柔性設(shè)計    184
10.1  釋意接口    186
10.2  無副作用函數(shù)    190
10.3  斷言    194
10.4  概念輪廓    197
10.5  孤立類    201
10.6  操作封閉    203
10.7  聲明性設(shè)計    205
10.8  一個聲明性風(fēng)格的設(shè)計    207
10.9  攻擊角度    215
10.9.1  切分子領(lǐng)域    215
10.9.2  盡可能利用現(xiàn)成的形式    216
第11章  應(yīng)用分析模式    225
第12章  把設(shè)計模式和模型
聯(lián)系起來    237
12.1  策略    238
12.2  組合    241
12.3  為什么不用Flyweight?    245
第13章  向更深層理解重構(gòu)    247
13.1  發(fā)起重構(gòu)    247
13.2  探索團(tuán)隊    248
13.3  前期工作    249
13.4  針對開發(fā)人員設(shè)計    249
13.5  時機(jī)選擇    250
13.6  將危機(jī)視為機(jī)會    250
第Ⅳ部分  戰(zhàn)略性設(shè)計
第14章  維護(hù)模型完整性    255
14.1  限界上下文    257
14.2  持續(xù)集成    261
14.3  上下文映射    263
14.3.1  在上下文邊界上的測試    269
14.3.2  組織和文檔化上下文
映射    269
14.4  限界上下文之間的關(guān)系    270
14.5  共享內(nèi)核    271
14.6  顧客/供應(yīng)商開發(fā)團(tuán)隊    272
14.7  同流者    275
14.8  防腐層    277
14.8.1  設(shè)計防腐層的接口    279
14.8.2  實現(xiàn)防腐層    279
14.8.3  一個關(guān)于警戒的故事    282
14.9  隔離方式    282
14.10  開放主機(jī)服務(wù)    284
14.11  公布語言    284
14.12  盲人摸象    287
14.13  選擇模型上下文的策略    290
14.13.1  團(tuán)隊或更高層的決策    290
14.13.2  把自己放在上下文中    291
14.13.3  轉(zhuǎn)換邊界    291
14.13.4  接受我們不能改變的東
西:描繪外部系統(tǒng)    292
14.13.5  與外部系統(tǒng)的關(guān)系    292
14.13.6  在設(shè)計系統(tǒng)    293
14.13.7  滿足不同模型的
特別需要    293
14.13.8  部署    294
14.13.9  權(quán)衡    295
14.13.10  考慮項目已經(jīng)進(jìn)行
的情況    295
14.14  轉(zhuǎn)換    296
14.14.1  合并上下文:隔離
方式→共享內(nèi)核    296
14.14.2  合并上下文:共享
內(nèi)核→持續(xù)集成    297
14.14.3  逐步淘汰原有系統(tǒng)    298
14.14.4  開放主機(jī)服務(wù)→
公布語言    299
第15章  精煉    301
15.1  核心領(lǐng)域    302
15.1.1  選擇核心    305
15.1.2  誰來負(fù)責(zé)精煉工作    305
15.2  精煉的逐步升級    306
15.3  通用子域    307
15.3.1  通用不一定可重用    312
15.3.2  項目風(fēng)險管理    313
15.4  領(lǐng)域愿景聲明    313
15.5  突出核心    315
15.5.1  精煉文檔    316
15.5.2  把核心標(biāo)記出來    317
15.5.3  把精煉文檔作為開發(fā)
過程的工具    318
15.6  內(nèi)聚機(jī)制    319
15.6.1  通用子域與內(nèi)聚機(jī)制    320
15.6.2  屬于核心領(lǐng)域的機(jī)制    321
15.7  精煉到聲明性風(fēng)格    321
15.8  隔離核心    322
15.8.1  創(chuàng)建隔離核心的代價    323
15.8.2  推進(jìn)團(tuán)隊決策    323
15.9  抽象核心    328
15.10  深層模型精煉    329
15.11  選擇重構(gòu)的目標(biāo)    329
第16章  大比例結(jié)構(gòu)    330
16.1  漸進(jìn)順序    333
16.2  系統(tǒng)隱喻    335
16.3  職責(zé)層    337
16.4  知識級別    349
16.5  插件框架    356
16.6  結(jié)構(gòu)的約束    360
16.7  重構(gòu)到合適的結(jié)構(gòu)    361
16.7.1  最小化    362
16.7.2  交流和自律    362
16.7.3  結(jié)構(gòu)重組產(chǎn)生柔性設(shè)計    362
16.7.4  精煉為開發(fā)指路    363
第17章  綜合應(yīng)用戰(zhàn)略性設(shè)計    364
17.1  大比例結(jié)構(gòu)和限界上下文
的結(jié)合    364
17.2  大比例結(jié)構(gòu)和精煉的結(jié)合    367
17.3  首先進(jìn)行評估    369
17.4  由誰制定策略    369
17.4.1  在開發(fā)過程中自發(fā)產(chǎn)生    369
17.4.2  以客戶為中心的
架構(gòu)團(tuán)隊    370
17.5  制定戰(zhàn)略性設(shè)計決策的
6個要點    370
17.5.1  技術(shù)框架同樣如此    373
17.5.2  提防總體規(guī)劃    374
第18章  尾聲    375
附錄A  關(guān)于模式    380
附錄B  術(shù)語表    383
附錄C  參考文獻(xiàn)    387
附錄D  關(guān)系圖    389

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號