O documento discute os principais conceitos do Domain Driven Design (DDD), incluindo: 1) O foco do DDD é no domínio e na lógica do domínio; 2) Os modelos no DDD são abstrações baseadas no domínio; 3) Entidades, objetos de valor, agregações e serviços são conceitos importantes no DDD.
12. Principais premissas do (DDD)
“ Para a maioria dos
projetos de software o foco
principal deve ser no
domínio e na lógica do
domínio ”
“ Desenhos complexos de
domínio devem ser
baseados em modelos ”
24. Recapitulando:
* Modelos são abstrações
- O que não interessa fica de fora
- O modelo deve refletir no código ou são irrelevantes
- O modelo deve representar o seu domínio
29. Ubiquitous Language:
- Vem dos business experts
- É refletida no modelo
- É refletida no código
- É falada pelo time
30. Não Sim
- Tabela - Carga
- Classe - Conta corrente
- método - Agendamento de horários
- String - Deposito bancário
- Banco de dados - Realizar matricula
38. Objetos de Valor
- Objetos de valor não tem identidade para o negócio
- São reconhecidos por seus atributos
- Geralmente são imutáveis
Exemplo: Azul
Verde
Vermelho
39. Agregações
- Reúnem entidades e objetos de valor de
maneira que faça sentido para o negócio
- Toda agregação tem uma raiz
42. Serviços
- Serviços resolvem problemas de negócio, mas
não são entidades e nem objetos de valor
- Se meu serviço precisar retornar algum
objeto, este objeto tem que estar no meu
domínio
46. Repositórios
- Responsáveis por persistir e destruir os objetos
- Responsáveis por guardar e recuperar objetos
- Falar a língua do negócio
* Vai ter métodos:
- obter por data
- obter por cpf
- obter por vencimento
52. Ciclo de vida de um
objeto para o DDD:
- Factories criam objetos
53. Ciclo de vida de um
objeto para o DDD:
- Factories criam objetos
- Repositórios recuperam objetos
54. Ciclo de vida de um
objeto para o DDD:
- Factories criam objetos
- Repositórios recuperam objetos
- Repositórios alteram objetos
55. Ciclo de vida de um
objeto para o DDD:
- Factories criam objetos
- Repositórios recuperam objetos
- Repositórios alteram objetos
- Repositórios destroem objetos
62. Recomendações:
“ O foco são os projetos com regras de
negócio complexas ”
“ Quando as empresas fam que o projeto é
simples, comece a tomar cuidado, pois eles
crescem ”
“ Comece com projetos pequenos para
aprender ”