Rich domain models, inspired by imperative objective-oriented approaches, dominate our industry. But lean domain models are a compelling alternative. By separating behaviour and state, lean models offer an effective way to represent units of behaviour. This session will explore how to represent a lean domain model using a functional programming paradigm. You'll explore how types can be used as a natural way to represent business constraints alongside smart constructors and functional validation. You will also learn how type properties can be modelled with property based testing, how behaviour can be better composed, how to keep domain behaviour isolated from application state, and much more.


Comments are closed.

PC at 12:33 on 31 Aug 2017

The introduction was a bit hard, there were too much topics and further topics in short time :) but the speaker was very good prepared and made an excellent talk. maybe adding metaphers/programming offside examples/real life examples for algebric data types would help in explaining the types. the exercises themself were good prepared and supported by the speaker.

This talk requires your full attention, and some OOP competence. Actually, a hell of a lot of OOP comfort. Newbies would not be able to absorb this content easily, and even veterans usually have trouble understanding FP concepts. However, with the exercises, explanations, and followup questions, Marcello made sure everyone was involved, thereby enforcing a high percentage of understanding among the attendees.

Marcello is a brilliant, strict, and experienced educator, and one whose future talks I certainly won't be missing. Thank you!