Domain-Driven Design com PHP
-
Upload
thiago-colares -
Category
Technology
-
view
182 -
download
0
Transcript of Domain-Driven Design com PHP
![Page 1: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/1.jpg)
Domain-Driven Design com PHPFortaleza, Setembro – 20162º Encontro de Dev's PHP
![Page 2: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/2.jpg)
Thiago Colares
![Page 3: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/3.jpg)
![Page 4: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/4.jpg)
![Page 5: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/5.jpg)
https://zombiecodekill.files.wordpress.com/2015/09/ddd.jpg
![Page 6: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/6.jpg)
https://www.flickr.com/photos/harquail/17179719119/sizes/l
![Page 7: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/7.jpg)
Linguagem ubíquia
![Page 8: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/8.jpg)
Especialistasdo domínio
![Page 9: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/9.jpg)
Time dedesenvol-
vimento
Especialistasdo domínio
![Page 10: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/10.jpg)
Time dedesenvol-
vimento
Especialistasdo domínio
Linguagemubíqua
![Page 11: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/11.jpg)
![Page 12: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/12.jpg)
Modelando o domínio
![Page 13: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/13.jpg)
https://www.safaribooksonline.com/library/view/domain-driven-design-tackling/0321125215/graphics/fminf01.jpg
![Page 14: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/14.jpg)
![Page 15: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/15.jpg)
![Page 16: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/16.jpg)
Entities
![Page 17: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/17.jpg)
Value Objects
![Page 18: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/18.jpg)
![Page 19: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/19.jpg)
Entities ouValue Objects?
![Page 20: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/20.jpg)
![Page 21: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/21.jpg)
https://www.tenuz.com/wp-content/uploads/2015/04/Car-parts-1.jpg
![Page 22: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/23.jpg)
![Page 24: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/24.jpg)
Ciclo de vida dos objetos
![Page 25: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/25.jpg)
![Page 26: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/26.jpg)
![Page 27: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/27.jpg)
![Page 28: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/28.jpg)
![Page 29: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/29.jpg)
![Page 30: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/30.jpg)
Bounded context(Contexto delimitado)
![Page 31: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/31.jpg)
ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão
![Page 32: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/32.jpg)
ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão
Agendamento de consulta
![Page 33: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/33.jpg)
ClienteNomeIdentificadorCartões de CréditoEndereçoValidação do PagamentoValidação do Cartão
Agendamento de consulta
Pagamento
![Page 34: Domain-Driven Design com PHP](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022052706/58ef94ed1a28ab527e8b45c3/html5/thumbnails/35.jpg)
Shared KernelCustomer / SupplierConformistAnti-Corruption LayerDomain Event
Padrões para relacionarBounded contexts