4. 4
Frameworks tem sua própria agenda e
suas próprias prioridades. Ao vincular
sua aplicação a um framework, você
está sujeito às mudanças do
framework.
Uncle Bob
5. 5
O código de um sistema deve ser uma
representação fiel do domínio. Se o seu
código está dentro do Rails (ou de
qualquer MVC), ele não está
representando o domínio.
6. QUE AÇÕES O DOMÍNIO DE AMORTIZAÇÕES FAZ?
6
Qual parece mais adequado?
7. DOMAIN-DRIVEN DESIGN
Uma abordagem para desenvolvimento de
softwares complexos
Reune um conjunto de boas práticas, padrões de projeto, conceitos de SOLID e
introduz uma linguagem ubíqua.
Domínio é uma área de conhecimento do negócio onde o software está
inserido.
Uma linguagem comum entre negócio e
desenvolvimento
■ Todas as pessoas dentro de um time falando a mesma língua
■ Sem tradução: ”o que o cliente chama de custo é o campo valor”
7
8. DDD - ABORDAGEM
Foco no domínio principal
Explore os modelos em conjunto com
desenvolvedores e especialistas de domínio
Converse em uma linguagem comum dentro
de um contexto específico
8
13. ENTIDADES
Um objeto distinto pela sua identidade
■ Um produto em uma loja
■ Uma nota fiscal na contabilidade
■ Uma pessoa para o governo
- E por aí vai…
13
14. OBJETOS DE VALOR
Um objeto cuja identidade não importa
Só tem importância pelos seus atributos ou por sua lógica
É um objeto imutável
■ Uma cor
■ Uma descrição
■ Uma data ou hora
■ Um endereço
- E por aí vai…
14
15. AGREGAÇÕES
Uma combinação entre entidades e seus
relacionamentos com objetos de valor
dentro de um contexto
Uma agregação é tratada como uma única unidade.
Só é acessada pela sua raíz, uma entidade.
■ Pedido (itens, local de entrega, cliente, cupom de desconto)
■ Chamado/Atendimento (atendente, hora, local, comentários, tags)
- E por aí vai
15