Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Jimmy Nilsson

  • 出版商: Addison Wesley
  • 出版日期: 2006-05-01
  • 售價: $2,550
  • 貴賓價: 9.5$2,423
  • 語言: 英文
  • 頁數: 576
  • 裝訂: Hardcover
  • ISBN: 0321268202
  • ISBN-13: 9780321268204
  • 相關分類: Domain-Driven Design
  • 立即出貨 (庫存=1)




“[This] is a book about design in the .NET world, driven in an agile manner and infused with the products of the enterprise patterns community. [It] shows you how to begin applying such things as TDD, object relational mapping, and DDD to .NET projects...techniques that many developers think are the key to future software development.... As the technology gets more capable and sophisticated, it becomes more important to understand how to use it well. This book is a valuable step toward advancing that understanding.”

–Martin Fowler, author of Refactoring and Patterns of Enterprise Application Architecture


Patterns, Domain-Driven Design (DDD), and Test-Driven Development (TDD) enable architects and developers to create systems that are powerful, robust, and maintainable. Now, there’s a comprehensive, practical guide to leveraging all these techniques primarily in Microsoft .NET environments, but the discussions are just as useful for Java developers.


Drawing on seminal work by Martin Fowler (Patterns of Enterprise Application Architecture) and Eric Evans (Domain-Driven Design), Jimmy Nilsson shows how to create real-world architectures for any .NET application. Nilsson illuminates each principle with clear, well-annotated code examples based on C# 1.1 and 2.0. His examples and discussions will be valuable both to C# developers and those working with other .NET languages and any databases–even with other platforms, such as J2EE. Coverage includes


·        Quick primers on patterns, TDD, and refactoring

·        Using architectural techniques to improve software quality

·        Using domain models to support business rules and validation

·        Applying enterprise patterns to provide persistence support via NHibernate

·        Planning effectively for the presentation layer and UI testing

·        Designing for Dependency Injection, Aspect Orientation, and other new paradigms



Table of Contents

About the Author     xxv

Forewords     xxvii

Preface: Bridging Gaps     xxxi

Part I: Background

Chapter 1: Values to Value     3

Chapter 2: A Head Start on Patterns     47

Chapter 3: TDD and Refactoring     77

Part II: Applying DDD

Chapter 4: A New Default Architecture     113

Chapter 5: Moving Further with Domain-Driven Design     143

Chapter 6: Preparing for Infrastructure     181

Chapter 7: Let the Rules Rule     229

Part III: Applying PoEAA

Chapter 8: Infrastructure for Persistence     279

Chapter 9: Putting NHibernate into Action     311

Part IV: What’s Next?

Chapter 10: Design Techniques to Embrace     349

Chapter 11: Focus on the UI     407

Part V: Appendices

Appendix A: Other Domain Model Styles     447

Appendix B: Catalog of Discussed Patterns     483

References     493

Index     501



模式、領域驅動設計(DDD)和測試驅動開發(TDD)使架構師和開發人員能夠創建功能強大、穩健且易於維護的系統。現在,有一本全面而實用的指南,主要介紹如何在Microsoft .NET環境中利用所有這些技術,但這些討論對Java開發人員也同樣有用。

吉米·尼爾森(Jimmy Nilsson)借鑒了馬丁·福勒(Martin Fowler)的重要著作《企業應用架構模式》和埃里克·埃文斯(Eric Evans)的《領域驅動設計》一書,展示了如何為任何.NET應用程序創建真實世界的架構。尼爾森通過基於C# 1.1和2.0的清晰、註釋良好的代碼示例來闡明每個原則。他的示例和討論對C#開發人員以及使用其他.NET語言和任何數據庫的人都很有價值,甚至對於其他平台(如J2EE)的人也是如此。內容包括:

- 快速入門模式、TDD和重構
- 使用架構技術提高軟體品質
- 使用領域模型支持業務規則和驗證
- 應用企業模式通過NHibernate提供持久性支持
- 有效規劃展示層和UI測試
- 設計依賴注入、面向切面和其他新範式


- 作者簡介
- 前言
- 第一部分:背景
- 第二部分:應用DDD
- 第三部分:實踐TDD
- 第四部分:應用模式
- 第五部分:應用DDD和TDD的實例
- 第六部分:總結