| | | 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 |