Domain-Driven Design Europe 2017
[ Ссылка ] - [ Ссылка ]
Pure and lazy functional programming languages seem a perfect fit to implement Domain Driven Design using Event Sourcing as a domain storage principal. Immutable and persistent data structures, call-by-need evaluation, memoization, referential transparency, compositionality and strong typing are some features offered by Haskell that provides building blocks for growing domain-centric and flexible applications.
This session is a detailed walkthrough of one possible implementation of Event Sourcing in Haskell, drawing on the speaker's experience as CTO of Capital Match, a crowdlending startup based in Singapore whose system is built using this technology. We will implement a simple yet useful model, going through all the various stages and layers needed to expose a service, persist state, apply business rules, manage migrations, in Haskell. Along the way, we aim to demonstrate that Haskell, thanks to its pure lazy semantics and rich type system, provides useful tools for the practitioner to develop concise, expressive, composable and safe code.
Ещё видео!