From Functional to Reactive - Patterns in Domain Modeling
summary
Shows a concrete path from pure functional domain APIs to reactive ones using Scala and ScalaZ: account operations become Kleisli arrows returning disjunctions, then stack a Future with an EitherT transformer to add nonblocking elasticity. Demonstrates actor usage confined to mutable-state protection and supervision, and replaces ad hoc actor workflows with Akka Streams pipelines for typed, compositional stream processing with backpressure. Provides code sketches of the bank-account service, explains why composition still works, and reports the implementation runs with actors hidden under the stream runtime.
AI-written summary · about
chapters (14)
- 0:00Start
- 7:48A Bounded Context
- 9:33Domain Model Algebra
- 14:55Composable
- 18:24Being Reactive
- 20:52Goals towards Reactive API
- 23:52Monad Transformers
- 26:10Advantages
- 26:24Reactive & algebraic patterns in domain modeling
- 29:29Asynchronous Messaging
- 33:40Actors and Domain Models
- 35:47Centralized Failure Management
- 37:14Modeling Domain Workflows
- 38:34Akka Streams
related talks
01h 04mFrom Functional to Reactive Programming
41mThe definite guide to reactive programming in Java
46mAkka Streams & Reactive Streams in action
01h 31mReactive Streams / Akka Streams
52mBuilding Reactive Apps
03mAm I only streaming? Thinking reactive
58mReactive Programming with Algebra
41mFrom Imperative To Reactive
