Better software design with domain modelling
summary
Three concrete lenses guide decisions: the data lens uses TypeScript and JSON to encode a coffee model (3 sizes × 3 roasts → nine possible coffees) and counts states to spot misfits (arrays create order-equivalent duplicates); the operations lens models use cases as function signatures and argues for total functions (avoid throwing, augment returns or restrict types); the volatility lens buckets things into closed/open/runtime and recommends runtime values for frequently changing add-ins so the implementation aligns with actual change frequency.
AI-written summary · about
chapters (8)
- 0:00Domain modelling intro
- 2:38Data relationships analysis
- 18:40Encoding options evaluation
- 22:14Function signature design
- 30:03Use cases and complexity
- 35:30Volatility and change frequency
- 44:05Three lenses review
- 45:31Q&A
related talks
26mChoosing TypeScript Matters More Than Ever
25mLeveraging (algebraic data) types to make your UI rock solid
27mDesigning Even Larger (JavaScript) Applications
30mFunctional lenses for contemporary frameworks
25mLeveraging (algebraic data) types to make your UI rock solid
24mBuilding Software Architecture from First Principles
01h 00mDesign Idioms from an Alternate Universe
26mBetter living through components
