| | Copyright |
| | Praise for Applying Domain-Driven Design and Patterns |
| | About the Author |
| | Forewords |
| | Preface: Bridging Gaps |
| | Acknowledgments |
| | Part I: Background |
| | | Chapter 1. Values to Value: Or Embarrassing Ramblings When Self-Reflecting on the Last Few Years |
| | | Overall Values |
| | | Architecture Styles to Value |
| | | Process Ingredients to Value |
| | | Continuous Integration |
| | | Don't Forget About Operations |
| | | Summary |
| | | Chapter 2. A Head Start on Patterns |
| | | A Little Bit About Patterns |
| | | Design Patterns |
| | | Architectural Patterns |
| | | Design Patterns for Specific Types of Applications |
| | | Domain Patterns |
| | | Summary |
| | | Chapter 3. TDD and Refactoring |
| | | Test-Driven Development (TDD) |
| | | Mocks and Stubs |
| | | Refactoring |
| | | Summary |
| | Part II: Applying DDD |
| | | Chapter 4. A New Default Architecture |
| | | The Basis of the New Default Architecture |
| | | A First Sketch |
| | | Making a First Attempt at Hooking the UI to the Domain Model |
| | | Yet Another Dimension |
| | | Summary |
| | | Chapter 5. Moving Further with Domain-Driven Design |
| | | Refining the Domain Model Through Simple TDD Experimentation |
| | | Fluent Interface |
| | | Summary |
| | | Chapter 6. Preparing for Infrastructure |
| | | POCO as a Lifestyle |
| | | Dealing with Save Scenarios |
| | | Let's Build the Fake Mechanism |
| | | Database Testing |
| | | Querying |
| | | Summary |
| | | Chapter 7. Let the Rules Rule |
| | | Categorization of Rules |
| | | Principles for Rules and Their Usage |
| | | Starting to Create an API |
| | | Requirements for a Basic Rules API Related to Persistence |
| | | Focus on Domain-Related Rules |
| | | Extending the API |
| | | Refining the Implementation |
| | | Binding to the Persistence Abstraction |
| | | Generics and Anonymous Methods to the Rescue |
| | | What Others Have Done |
| | | Summary |
| | Part III: Applying PoEaa |
| | | Chapter 8. Infrastructure for Persistence |
| | | Requirements on the Persistence Infrastructure |
| | | Where to Store Data |
| | | Approach |
| | | Classification |
| | | Another Classification: Infrastructure Patterns |
| | | Summary |
| | | Chapter 9. Putting NHibernate into Action |
| | | Why NHibernate? |
| | | A Short Introduction to NHibernate |
| | | Requirements of the Persistence Infrastructure |
| | | Classification |
| | | Another Classification: Infrastructure Patterns |
| | | NHibernate and DDD |
| | | Summary |
| | Part IV: What's Next? |
| | | Chapter 10. Design Techniques to Embrace |
| | | Context Is King |
| | | An Introduction to SOA |
| | | Inversion of Control and Dependency Injection |
| | | Aspect-Oriented Programming (AOP) |
| | | Summary |
| | | Chapter 11. Focus on the UI |
| | | A Prepilogue |
| | | The Model-View-Controller Pattern |
| | | Test-Driving a Web Form |
| | | Mapping and Wrapping |
| | | Summary |
| | | Epilogue |
| | Part V: Appendices |
| | | Appendix A. Other Domain Model Styles |
| | | Object-Oriented Data Model, Smart Service Layer, and Documents |
| | | The Database Model Is the Domain Model |
| | | Pragmatism and the Nontraditional Approach |
| | | Summary |
| | | Appendix B. Catalog of Discussed Patterns |
| | | Abstract Factory [GoF Design Patterns] |
| | | Aggregate [Evans DDD] |
| | | Bounded Context [Evans DDD] |
| | | Chain of Responsibility [GoF Design Patterns] |
| | | Class Table Inheritance [Fowler PoEAA] |
| | | Coarse-Grained Lock [Fowler PoEAA] |
| | | Collecting Parameter Pattern [Beck SBPP] |
| | | Concrete Table Inheritance [Fowler PoEAA] |
| | | Data Mapper [Fowler PoEAA] |
| | | Data Transfer Objects [Fowler PoEAA] |
| | | Decorator [GoF Design Patterns] |
| | | Dependency Injection |
| | | Domain Model [Fowler PoEAA] |
| | | Embedded Value [Fowler PoEAA] |
| | | Entity [Evans DDD] |
| | | Factory [Evans DDD] |
| | | Factory Method [GoF Design Patterns] |
| | | Foreign Key Mapping [Fowler PoEAA] |
| | | Generation Gap [Vlissides Pattern Hatching] |
| | | Identity Field [Fowler PoEAA] |
| | | Identity Map [Fowler PoEAA] |
| | | Implicit Lock [Fowler PoEAA] |
| | | Layer Supertype [Fowler PoEAA] |
| | | Layers [POSA] |
| | | Lazy Load [Fowler PoEAA] |
| | | Metadata Mapping [Fowler PoEAA] |
| | | Model View Controller [Fowler PoEAA] |
| | | Model View Presenter [Fowler PoEAA2] |
| | | Notification [Fowler PoEAA2] |
| | | Null Object [Woolf Null Object] |
| | | Optimistic Offline Lock [Fowler PoEAA] |
| | | Party Archetype [Arlow/Neustadt Archetype Patterns] |
| | | Pessimistic Offline Lock [Fowler PoEAA] |
| | | Pipes and Filters [POSA] |
| | | Presentation Model [Fowler PoEAA2] |
| | | Proxy [GoF Design Patterns] |
| | | Query Object [Fowler PoEAA] |
| | | Recordset [Fowler PoEAA] |
| | | Reflection [POSA] |
| | | Registry [Fowler PoEAA] |
| | | Remote Façade [Fowler PoEAA] |
| | | Repository [Evans DDD] |
| | | Separated Presentation [Fowler PoEAA2] |
| | | Service Layer [Fowler PoEAA] |
| | | Service Locator [Alur/Crupi/Malks Core J2EE Patterns] |
| | | Services [Evans DDD] |
| | | Single Table Inheritance [Fowler PoEAA] |
| | | Singleton [GoF Design Patterns] |
| | | Specification [Evans DDD] |
| | | State [GoF Design Patterns] |
| | | Table Module [Fowler PoEAA] |
| | | Template Method [GoF Design Patterns] |
| | | Transaction Script [Fowler PoEAA] |
| | | Unit of Work [Fowler PoEAA] |
| | | Value Object [Evans DDD] |
| | References |
| | | |
| | Index |