| |
| |
About the Author | |
| |
| |
Forewords | |
| |
| |
Preface: Bridging Gaps | |
| |
| |
| |
Background | |
| |
| |
| |
Values to Value | |
| |
| |
Overall Values | |
| |
| |
Architecture Styles to Value | |
| |
| |
Process Ingredients to Value | |
| |
| |
Continuous Integration | |
| |
| |
Don't Forget About Operations | |
| |
| |
Summary | |
| |
| |
| |
A Head Start on Patterns | |
| |
| |
A Little Bit About Patterns | |
| |
| |
Design Patterns | |
| |
| |
Architectural Patterns | |
| |
| |
Design Patterns for Specific Types of Applications | |
| |
| |
Domain Patterns | |
| |
| |
Summary | |
| |
| |
| |
TDD and Refactoring | |
| |
| |
Test-Driven Development (TDD) | |
| |
| |
Mocks and Stubs | |
| |
| |
Refactoring | |
| |
| |
Summary | |
| |
| |
| |
Applying DDD | |
| |
| |
| |
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 | |
| |
| |
| |
Moving Further with Domain-Driven Design | |
| |
| |
Refining the Domain Model Through Simple TDD Experimentation | |
| |
| |
Fluent Interface | |
| |
| |
Summary | |
| |
| |
| |
Preparing for Infrastructure | |
| |
| |
POCO as a Lifestyle | |
| |
| |
Dealing with Save Scenarios | |
| |
| |
Let's Build the Fake Mechanism | |
| |
| |
Database Testing | |
| |
| |
Querying | |
| |
| |
Summary | |
| |
| |
| |
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 | |
| |
| |
| |
Applying PoEAA | |
| |
| |
| |
Infrastructure for Persistence | |
| |
| |
Requirements on the Persistence Infrastructure | |
| |
| |
Where to Store Data | |
| |
| |
Approach | |
| |
| |
Classification | |
| |
| |
Another Classification: Infrastructure Patterns | |
| |
| |
Summary | |
| |
| |
| |
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 | |
| |
| |
| |
What's Next? | |
| |
| |
| |
Design Techniques to Embrace | |
| |
| |
Context Is King | |
| |
| |
An Introduction to SOA | |
| |
| |
Inversion of Control and Dependency Injection | |
| |
| |
Aspect-Oriented Programming (AOP) | |
| |
| |
Summary | |
| |
| |
| |
Focus on the UI | |
| |
| |
A Prepilogue | |
| |
| |
The Model-View-Controller Pattern | |
| |
| |
Test-Driving a Web Form | |
| |
| |
Mapping and Wrapping | |
| |
| |
Summary | |
| |
| |
Epilogue | |
| |
| |
| |
Appendices | |
| |
| |
| |
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 | |
| |
| |
| |
Catalog of Discussed Patterns | |
| |
| |
References | |
| |
| |
Index | |