domain-driven design com php

36
Domain-Driven Design com PHP Fortaleza, Setembro – 2016 2º Encontro de Dev's PHP

Upload: thiago-colares

Post on 13-Apr-2017

181 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Domain-Driven Design com PHP

Domain-Driven Design com PHPFortaleza, Setembro – 20162º Encontro de Dev's PHP

Page 2: Domain-Driven Design com PHP

Thiago Colares

Page 3: Domain-Driven Design com PHP
Page 4: Domain-Driven Design com PHP
Page 5: Domain-Driven Design com PHP

https://zombiecodekill.files.wordpress.com/2015/09/ddd.jpg

Page 6: Domain-Driven Design com PHP

https://www.flickr.com/photos/harquail/17179719119/sizes/l

Page 7: Domain-Driven Design com PHP

Linguagem ubíquia

Page 8: Domain-Driven Design com PHP

Especialistasdo domínio

Page 9: Domain-Driven Design com PHP

Time dedesenvol-

vimento

Especialistasdo domínio

Page 10: Domain-Driven Design com PHP

Time dedesenvol-

vimento

Especialistasdo domínio

Linguagemubíqua

Page 11: Domain-Driven Design com PHP
Page 12: Domain-Driven Design com PHP

Modelando o domínio

Page 13: Domain-Driven Design com PHP

https://www.safaribooksonline.com/library/view/domain-driven-design-tackling/0321125215/graphics/fminf01.jpg

Page 14: Domain-Driven Design com PHP
Page 15: Domain-Driven Design com PHP
Page 16: Domain-Driven Design com PHP

Entities

Page 17: Domain-Driven Design com PHP

Value Objects

Page 18: Domain-Driven Design com PHP
Page 19: Domain-Driven Design com PHP

Entities ouValue Objects?

Page 20: Domain-Driven Design com PHP
Page 21: Domain-Driven Design com PHP

https://www.tenuz.com/wp-content/uploads/2015/04/Car-parts-1.jpg

Page 22: Domain-Driven Design com PHP

https://www.tenuz.com/wp-content/uploads/2015/04/Car-parts-1.jpg

Aggregate Root

Aggregate Child

Aggregate Child

Page 23: Domain-Driven Design com PHP
Page 24: Domain-Driven Design com PHP

Ciclo de vida dos objetos

Page 25: Domain-Driven Design com PHP
Page 26: Domain-Driven Design com PHP
Page 27: Domain-Driven Design com PHP
Page 28: Domain-Driven Design com PHP
Page 29: Domain-Driven Design com PHP
Page 30: Domain-Driven Design com PHP

Bounded context(Contexto delimitado)

Page 31: Domain-Driven Design com PHP

ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão

Page 32: Domain-Driven Design com PHP

ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão

Agendamento de consulta

Page 33: Domain-Driven Design com PHP

ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão

Agendamento de consulta

Pagamento

Page 34: Domain-Driven Design com PHP

ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do Paga...Validação do Cartão

Pagamento

ClienteNomeIdentificador

Agendamento de consulta

Page 35: Domain-Driven Design com PHP

Shared KernelCustomer / SupplierConformistAnti-Corruption LayerDomain Event

Padrões para relacionarBounded contexts

Page 36: Domain-Driven Design com PHP

OBRIGADOwww.agilize.com.br

Thiago ColaresFortaleza, Setembro 2016