Domain-driven design (DDD) focuses on what matters in enterprise applications: the core business domain. Using object-oriented principles, you can develop a domain model that all team members-including business experts and technical specialists-can understand. Even better, this model is directly related to the underlying implementation.
But if you’ve tried building a domain-driven application then you’ll know that applying the DDD principles is easier said than done. Naked Objects, an open source Java framework, lets you build working applications simply by writing the core domain classes. Naked Objects automatically renders your domain object in a generic viewer — either rich client or HTML. You can use its integration with Fitnesse to test-drive the development of your application, story-by-story. And once developed, you can deploy your application either to the full Naked Objects runtime, or within your existing application infrastructure.
In this book, Dan Haywood first gives you the tools to represent your domain as plain old Java objects, expressing business rules both declaratively and imperatively. Next, you’ll learn the techniques to deepen your design while keeping it maintainable as the scope of your application grows. Finally, you’ll walk through the development practices needed to implement your domain applications, taking in testing, deployment, and extending Naked Objects itself. Throughout the book, you’ll build a complete sample application, learning key DDD principles as you work through the application step by step. Every chapter ends with exercises to gain further experience in your own projects.
Through its focus on the core business domain, DDD delivers value to your business stakeholders, and Naked Objects makes using DDD easy to accomplish. Using Naked Objects, you’ll be ready in no time to build fully featured domain-driven applications.