Session
Functional Aggregate Design: Processes, Temporality & Automata Theory
In the last years more and more practitioners of Domain-Driven Design agree that Aggregates should be rather viewed as processes that have an inherent temporal aspect to them. Very often they are mentioned as life-cycles that can adapt their behavior over time.
Aggregates are then defined as a combination of Commands (stimuli from the environment), Behaviors (reactions to incoming stimuli that can change the system’s state & response mechanisms) and Events (system signals in response to changes in state).
Modelling processes is nothing new in computing though. Automata theory can give us some mathematical foundations with which we can formally design our Aggregates in a purely functional and composable way.
In this talk I will explain why we need process-oriented models, and which concepts from automata theory can help us in deriving a functional and temporal design for our Aggregates. We will also explore some operations that enable compositions on these models like unions and projections. The talk will be accompanied by concrete code examples showing how such Aggregates could look like in real-world scenarios.
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top