c't < webdev >

Martin Günther

Martin has been consulting and supporting companies in the implementation of their software projects as a software architect and agile coach for many years. He always has the big picture in mind, looking for the boundaries that naturally divide the domain into conceptual units in order to build robust and efficient systems from these parts. Additionally, his profound experience in facilitating workshops helps him to accompany groups in their process of gaining insights and decision-making and to enable all team members to interact in an appreciative and effective manner.


Session

11-20
15:15
45min
Reusability Done Right - Domain-Driven Design, Closure of Operations, and Monoids
Nicole Rauch, Martin Günther

Do you know the feeling when you just implemented an algorithm, but while using it in production, new edge cases keep popping up that you hadn’t considered? You strictly followed Domain-Driven Design and created value objects, entities and aggregates, tested everything thoroughly, but that apparently didn’t help you with this phenomenon of “yet another edge case gone wrong”.
Especially for algorithms, it is essential to peek beyond your own nose and into the realm of mathematics. Lightweight ideas like closure of operations allow you to solidify your algorithms and to make them sound. And if you think that you actually only want to follow DDD and not any random esoteric fad, you may be pleasantly surprised that Eric Evans already mentioned that in his book.
We will introduce the ideas behind closure of operations, demonstrate them using monoids, a lightweight representative of these ideas that delivers real composability on the domain level, and show you how you can apply these to your codebase as well.

Talk
Stage 1 (first floor)