An Algebraic Approach to Functional Domain Modeling

Domain modeling is usually implemented using OO design. In this approach of "nouns-first" we design object hierarchies using subtyping to model the various elements of the domain. In this talk we will take a different approach using Scala:
  1. Start with focus on verbs first.
  2. Think how we can model domain behaviors using pure functions grouped within extensible modules.
  3. Use an algebraic approach towards evolution of modules,the algebra being composed of functions,types and laws.
  4. See how the domain algebra can be constructed from categorical structures like monoids, functors and monads
  5. Discuss how the functional patterns lead to compositionality - an extremely important quality that scales your domain model.
Length: 45:22
Views 706 Likes: 8
Recorded on 2016-10-13 at Functional Conf
Look for other videos at Functional Conf.
Tweet this video