c't < webdev >

Nicole Rauch

Nicole Rauch is an independent software developer and development coach with a solid background in compiler construction and formal methods. Her focus is on Software Craftsmanship / Clean Code and Domain-Driven Design, working with React.js in the frontend as well as working with legacy code. Nonetheless, her secret love is for functional programming. Also, she is committee member and co-organizer of a number of conferences and magazines as well as co-founder of Softwerkskammer, the German-speaking Software Craftsmanship community.


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)