This slide deck was presented at the Object-Oriented Conference 2024 held in Japan.
The original content is in Japanese, and it has been translated into English.
https://speakerdeck.com/yuitosato/functional-and-type-safe-ddd-for-oop
This presentation introduces a more type-safe functional DDD by incorporating functional paradigms, such as algebraic data types, into domain-driven design, which centers on business expertise (domain).
In this session, we will add a more type-focused design when reflecting the models and business logic discovered through domain modeling into the software. By expanding the range expressed by types, we can represent business logic more clearly in the code. Furthermore, since it is expressed by types, more mistakes can be caught at the compile phase, leading to improved software quality.
Incorporating functional ideas does not simply mean using functional languages like Haskell to perform domain-driven design. Type-safe concepts and techniques that apply functional knowledge can be introduced on a small scale. This presentation introduces methods to improve production code starting tomorrow while retaining the advantages of existing object-oriented languages like Java.