The aim of this training is to explain the different tools that Domain Driven Design offers us both from an organisational point of view through the strategic patterns and the ubiquitous language and from an architectural perspective through the tactical patterns.
By using tools such as Context Mapping and Event Storming, we will explain how to create a common language in the organization that helps us to build durable and maintainable software solutions.
We will explain how to transfer these concepts into code and architecture through concrete examples using DDD tactical patterns such as aggregates, repositories or value objects. Also, we will cover communication mechanisms between different Bounded contexts and make an introduction to event sourcing and CQRS.
The code and examples in the training are written in Java. These examples and exercises could be adapted to any other object-oriented language if necessary.
The training will be held online, so it will be necessary for all participants to have a good enough connection to be able to videoconference smoothly. If the course is done with the material in Java you will need JDK 11 or higher and an IDE installed. We feel most comfortable with IntelliJ but all the examples are built in such a way that they can be done in any IDE.
The training addresses some advanced concepts about software architecture. In order to make the most of it, we recommend that participants have some knowledge of object-orientation and at least basic experience writing automated tests.
The training can be done as a private training for a company, or as an open edition. We try to run an open edition every quarter, but we don't always manage to. It often happens that small companies send people to our open editions. If you would like us to notify you about upcoming open editions, please fill out the contact form.