I love programming since my first line of code I did on the C64 in Basic. Somewhere in 90ties I switched from C++ to java and spent then 20 Years developing mostly Java software working for various companies and projects.
I work at Digital Asset writing Haskell and Scala – but my heart is still close to Java and Kotlin.
Domain Driven Design patterns are commonly used in business applications.
There is, however, a visible mismatch when we look at them from a functional programming perspective. Some concepts seem to fit perfectly: like event sourcing. Some, however, seem to be built around mutability or side effects like aggregates or commands in CQRS. Some are just hard to grasp like domain events, integration events.
In this talk we will try to revisit the core concepts of DDD from a functional perspective and build a simple system using a little bit more functional approach.