Domain-driven design (DDD) focuses on what matters in enterprise applications: the core business domain. But applying the DDD principles can be easier said than done. Enter Naked Objects: an open-source Java framework that lets you build working applications simply by writing the core domain classes while Naked Objects takes care of the rest of the application infrastructure for you. This book shows how you can rapidly develop and test domain applications, and then deploy to either conventional architectures or onto Naked Objects itself. Get ready to write some of the best business software of your career.
Domain-Driven Design Using Naked Objects
by Dan Haywood
About this Title
Release: P1.0 (2009-12-15)
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 Java-based 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.
Read the reviews .
Contents & Extracts
- Distributing Class Responsibilities
- Applying Domain Patterns
- Keeping the Model Maintainable
- Scenario Testing
- Developing Domain Applications
- Naked Objects as a Design Tool
- Integrating with Web Frameworks
- Integrating with the Database
- Integrating Within the Enterprise
- Deploying the Full Runtime
- Programming Model Cheat Sheet
- Eclipse Templates
Dan Haywood has 20 years’ experience as a consultant, writer, and trainer, offering advice on domain-driven design and agile development practices for both the Java and .NET platforms. He has been working with Naked Objects since 2002 and is a committer to the Naked Objects framework; he is also the lead of a number of sister open source projects. He has presented Naked Objects at numerous conferences over the years, and written articles and books on Naked Objects and other technical topics. Dan is married with one daughter; together they all live in Oxfordshire with two elderly dogs.