8
Functional domain driven design Alessandro Melchiori // Software architect @ codiceplastico // @amelchiori

Functional DomainDrivenDesign

Embed Size (px)

DESCRIPTION

Molto spesso si accosta, piu’ o meno inconsapevolmente, il paradigma Object Oriented, ai principi di Domain Driven Design senza porsi la domanda se qualche altro “stile” possa coesistere meglio con aggregate, value object, command e domain event. Ebbene si: c’e’ dell’altro la’ fuori… In questa sessione vedremo come un linguaggio funzionale (F# nello specifico) si presta ad una piu’ intuitiva e compatta implementazione di un bounded-context

Citation preview

Page 1: Functional DomainDrivenDesign

Functional domain driven design

Alessandro Melchiori

// Software architect @ codiceplastico // @amelchiori

Page 2: Functional DomainDrivenDesign

Functional domain driven designAlessandro Melchiori // codiceplastico

Page 3: Functional DomainDrivenDesign

Functional domain driven designAlessandro Melchiori

Tackling Complexity in the Heart of Software

// codiceplastico

Page 4: Functional DomainDrivenDesign

Functional domain driven designAlessandro Melchiori // codiceplastico

Page 5: Functional DomainDrivenDesign

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 DomainDrivenDesign

Functional domain driven designAlessandro Melchiori

A single model cannot be appropriate for reporting, searching and transactional

behavior[Greg Young]

// codiceplastico

Page 7: Functional DomainDrivenDesign

Functional domain driven designAlessandro Melchiori // codiceplastico

Pres

enta

tion

Laye

r

Serv

ice

Laye

r

Dom

ain

Mod

el

Write storage

Read storage

Page 8: Functional DomainDrivenDesign

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