In this chapter, we used the outputs of the eventstorming session and used it as a primary aid to create a domain model for our bounded context. We looked at how to implement this using the CQRS architecture pattern. We looked at persistence options and the implications of using event-sourced versus state-stored aggregates. Finally, we rounded off by looking at a variety of ways in which to perform business validations. We looked at all this through a set of code examples, using Spring Boot and Axon Framework. With this knowledge, we should be able to implement robust, well-encapsulated, event-driven domain models.
In the next chapter, we will look at implementing a UI for these domain capabilities and examine a few options, such as CRUD-based versus task-based UIs.