Anyone who models an application with DDD needs an approach to persist data. Of course, a conventional CRUD database can be used for this, but there is a better approach: Event sourcing. How does it work?
While the past episodes have defined commands and domain events and have placed them in a bounded context, the last important concept of DDD is still missing: The aggregate. Usually aggregates are explained as transactional consistency boundaries - but what does that mean?
The result of the previous episode was a definition of the domain events for a to-do list. They are usually caused by actions of the user that express his or her intentions and wishes. How can this be modeled?
The variety of programming languages has been growing rapidly again for some years now. If you want to learn something new and look beyond the boundaries of your daily life, you have to ask yourself which language you will benefit from the most.
Two new versions of Node.js were released on October 31st, 2017. On the one hand there is the new LTS version 8.9.0, and on the other hand there is the new current version 9.0.0. Which of these should be used does not only depend on the features of the respective version.
The first episode explained why CRUD is not the answer to all questions. The largest point of criticism is that its semantics is limited to four verbs: Domain experts and users do not think in terms of CREATE, READ, UPDATE and DELETE. What words do they use instead?
Docker for AWS enables you to set up a Docker Swarm cluster in the cloud without much effort. Since Docker can only be controlled from the local machine, you always have to connect using SSH first. This is annoying and includes a number of drawbacks. How can this be solved better?
The TodoMVC application has become the web's hello world. Although it was originally thought of as a comparison of various UI frameworks, it has meanwhile matured into its own ecosystem. If you want to implement the application on the server-side, then why not use domain-driven design (DDD)?