JVM Developer since 1999
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.