Domain-Driven
Design com PHP
Fortaleza, Setembro – 2016
2º Encontro de Dev's PHP
Thiago Colares
https://zombiecodekill.files.wordpress.com/2015/09/ddd.jpg
https://www.flickr.com/photos/harquail/17179719119/sizes/l
Linguagem
ubíquia
Especialistas
do domínio
Time de
desenvol-
vimento
Especialistas
do domínio
Time de
desenvol-
vimento
Especialistas
do domínio
Linguagem
ubíqua
Modelando o
domínio
https://www.safaribooksonline.com/library/view/domain-driven-design-tackling/0321125215/graphics/fminf01.jpg
Entities
Value Objects
Entities ou
Value Objects?
https://www.tenuz.com/wp-content/uploads/2015/04/Car-parts-1.jpg
https://www.tenuz.com/wp-content/uploads/2015/04/Car-parts-1.jpg
Aggregate
Root
Aggregate
Child
Aggregate
Child
Ciclo de vida
dos objetos
Bounded context
(Contexto delimitado)
Cliente
Nome
Identificador
Cartões de Crédito
Endereço
Validação do Pagamento
Validação do Cartão
Cliente
Nome
Identificador
Cartões de Crédito
Endereço
Validação do Pagamento
Validação do Cartão
Agendamento
de consulta
Cliente
Nome
Identificador
Cartões de Crédito
Endereço
Validação do Pagamento
Validação do Cartão
Agendamento
de consulta
Pagamento
Cliente
Nome
Identificador
Cartões de Crédito
Endereço
Validação do Paga...
Validação do Cartão
Pagamento
Cliente
Nome
Identificador
Agendamento
de consulta
Shared Kernel
Customer / Supplier
Conformist
Anti-Corruption Layer
Domain Event
Padrões para relacionar
Bounded contexts
OBRIGADO
www.agilize.com.br
Thiago Colares
Fortaleza, Setembro
2016

Domain-Driven Design com PHP