內容簡介
領域模型使開發人員可以表達豐富的軟體功能需求,由此實現的軟體可以滿足用戶真正的需要,因此被公認為是軟體設計的關鍵所在,其重要性顯而易見。但講述如何將領域模型用於軟體開發過程的優秀實用資料卻不多見。本書正是這一領域最著名的作品,受到眾多業界大師的讚美和推介,廣受讀者好評。
要通過創建領域模型來加速複雜的軟體開發,就需要利用大量最佳實踐和標準模式在開發團隊中形成統一的交流語言;不僅重構代碼,而且要重構代碼底層的模型;同時採取反覆疊代的敏捷開發方法,深入理解領域特點,促進領域專家與程式設計師的良好溝通。針對這些內容,本書結合真實項目,系統地介紹了領域驅動開發的目標、意義和方法,充分討論了複雜系統的建模與設計問題。
本書將指導面向對象開發人員、系統分析人員和設計人員合理地組織工作,各有側重、彼此協作,有條不紊地進行複雜系統的開發,幫助他們建立豐富而實用的領域模型,並由此創建長期適用的優質軟體。
作者簡介
Eric Evans世界著名軟體建模專家,創建了Domain Language公司,致力於幫助公司機構創建與業務緊密相關的軟體。他在全球各地宣講領域驅動設計的思想,開設課程、參加會議、接受專訪,擁有大批的追隨者。從20世紀80年代開始,他就以設計師和程式設計師的雙重身份參與過許多大型面向對象系統的設計和開發,涉及各種複雜的業務和技術領域。同時,他還培訓和指導過許多開發團隊開展極限編程實踐。
圖書目錄
Part I
Putting the Domain Model to Work 1
Chapter 1: Crunching Knowledge 7
Chapter 2: Communication and the Use of Language 23
Chapter 3: Binding Model and Implementation 45
Part II
Chapter 4: Isolating the Domain 67
Chapter 5: A Model Expressed in Software 81
Chapter 6: The Life Cycle of a Domain Object 123
Chapter 7: Using the Language: An Extended Example 163
Part III
Chapter 8: Breakthrough 193
Chapter 9: Making Implicit Concepts Explicit 205
Chapter 10: Supple Design 243
Chapter 11: Applying Analysis Patterns 293
Chapter 12: Relating Design Patterns to the Model 309
Chapter 13: Refactoring Toward Deeper Insight 321
Part IV
Chapter 14: Maintaining Model Integrity 331
Chapter 15: Distillation 397
Chapter 16: Large-Scale Structure 439
Chapter 17: Bringing the Strategy Together 485
Index 519