domain driven design (ddd)
TRANSCRIPT
![Page 1: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/1.jpg)
![Page 2: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/2.jpg)
Mauro Sérgio da Costa Leal
![Page 3: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/3.jpg)
Mauro Sérgio da Costa Leal
• Bacharel em Ciência da Computação• Arquiteto de software• Desenvolvedor web na plataforma .NET• Entusiasta de DDD, padrões de projeto e boas
práticas de programação
![Page 4: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/4.jpg)
Agenda
Quando deve ser utilizado
Arquitetura em camadas
Camada de domínio
O que é DDD
![Page 5: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/5.jpg)
O que é domínio?
![Page 6: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/6.jpg)
Múltiplos dialetos
![Page 7: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/7.jpg)
![Page 8: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/8.jpg)
Modelo orientado a objetos x Modelo anêmico
Refatoração x Contornos
Camada de Regras de Negócio x Interfaces inteligentes
Separação de responsabilidades x Alto acoplamento
Confrontos
![Page 9: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/9.jpg)
Arquitetura em camadas
![Page 10: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/10.jpg)
Domínio – Entidades e Objetos de Valor
Conta Saque
Cédula
![Page 11: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/11.jpg)
Domínio - Agregados
ClientePedido
Itens Produto
![Page 12: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/12.jpg)
Domínio - Fábricas
![Page 13: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/13.jpg)
Domínio - Serviços
![Page 14: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/14.jpg)
![Page 15: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/15.jpg)
Mapa de Navegação
![Page 16: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/16.jpg)
Quando não utilizar DDD
Aplicações CRUD
Aplicações com poucos casos de uso
Aplicações com ciclo de vida pequeno
![Page 17: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/17.jpg)
Quando utilizar DDD
Aplicações com muitas regras de negócio
Não conseguimos prever a complexidade
Longo ciclo de vida
Domínio desconhecido por todo o time
![Page 18: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/18.jpg)
Por que utilizar DDD?
Consenso entre os especialistas do domínio
Melhor experiência do usuário
Modelagem ágil, iterativa e contínua
Software para todos entenderem
![Page 19: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/19.jpg)
Referências
![Page 20: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/20.jpg)
Referências
![Page 21: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/21.jpg)
Referências
![Page 22: Domain Driven Design (DDD)](https://reader031.vdocuments.mx/reader031/viewer/2022012313/55cf6667bb61ebba1d8b4723/html5/thumbnails/22.jpg)