2022
Encapsulating interactions with the outside world in your domain model.
In my ever-lasting battle against anemic domain models I've developed a preference on how to integrate with the external concerns. In this post I'd like to show an alternative, a strategy on how to keep encapsulating behaviour wile interacting with the outside world.
4 min readSoftware Design
Use a message envelope
Event-driven architectures have various styles of communication. In my previous post I described a couple of event types you may see in these kinds of architectures.
7 min readEvent-Driven Architectureevent sourcing
The different types of events in event-driven systems
Event-driven systems come in all sorts of shapes and sizes. The obvious commonality is; they all use events to communicate information. These events come in many shapes and sizes, and determining what goes into an event has an immense impact on the design of your system.
6 min readSoftware DesignEvent-Driven Architecture
2021
Where does my validation live?
This is a question I've received over and over again, a question that does not have a single answer. Sometimes when I explain how I approach this I get surprised reactions, so I figure I might as well share it in a blog post and see what other people think.
8 min readvalidationSoftware Design
Back the func off, this is my abstraction!
Integrating services over API's exposes your application to a range of possible failures. At scale, any network interaction can and will fail. Implementing a retry mechanism is a common approach to increase fault tolerance.
8 min readPHPSoftware Design