1.1 KiB
1.1 KiB
Scott Wlaschin - Talk Session: Domain Modeling Made Functional
- Ubiquitous Language
- Persistence Ignorance (no foreign keys or other database-specific details)
-
Communicating design decisions in code
- Constraints, optionality, etc.
- Algebraic Data Types are composable
- Avoid primitives, declaring domain types instead
- Types can be used as a domain modeling tool
- "Null is the Sauron of Static Typing"
- Constraints can be enforced when constructing distinct (wrapped) types.
- The Ubiquitous Language evolves with the domain because it lives in the evolving code.
- "Make illegal states unrepresentable!" - Yaron Minsky
- Static Typing gives you confidence to make changes