functional domain driven design
DESCRIPTION
When you "apply" event sourcing approach to your domain's state transitions, (maybe) you don't need an OO paradigm...functional is the solution?TRANSCRIPT
![Page 1: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/1.jpg)
Functional domain driven design
Alessandro Melchiori
// Software architect @ codiceplastico // @amelchiori
![Page 2: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/2.jpg)
Functional domain driven designAlessandro Melchiori // codiceplastico
![Page 3: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/3.jpg)
Functional domain driven designAlessandro Melchiori
Tackling Complexity in the Heart of Software
// codiceplastico
![Page 4: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/4.jpg)
Functional domain driven designAlessandro Melchiori // codiceplastico
![Page 5: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/5.jpg)
Functional domain driven designAlessandro Melchiori
It’s really become clear to me in the last couple of years that we need a new
building block and that is the Domain Events
[Eric Evans]
// codiceplastico
![Page 6: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/6.jpg)
Functional domain driven designAlessandro Melchiori // codiceplastico
Pres
enta
tion
Laye
r
Serv
ice/
Appl
icati
on L
ayer
Dom
ain
Mod
el
Storage
![Page 7: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/7.jpg)
Functional domain driven designAlessandro Melchiori
A single model cannot be appropriate for reporting, searching and transactional
behavior[Greg Young]
// codiceplastico
![Page 8: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/8.jpg)
Functional domain driven designAlessandro Melchiori // codiceplastico
Pres
enta
tion
Laye
r
Serv
ice
Laye
r
Dom
ain
Mod
el
Write storage
Read storage
![Page 9: Functional domain driven design](https://reader036.vdocuments.us/reader036/viewer/2022081422/554fafd3b4c90586258b5070/html5/thumbnails/9.jpg)
Functional domain driven designAlessandro Melchiori
State transition are an important part of our problem space and should be modeled
within our domain[Greg Young]
// codiceplastico