The aim of this course is explaining the different tools that Domain Driven Design offers us both from an organisational point of view through the strategic patterns and the ubiquitous language as well as 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 course are written in Java. These examples and exercises could be adapted to any other object-oriented language if necessary.
The course 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 course 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 course can be done in-house for a development team or a specific company that wants to contract it. We will also run open dates, if you wish to consult the calendar of upcoming open courses or contact us for an in-house course you can do so through the form at the bottom of this page.