O documento introduz o conceito de Domain Driven Design (DDD), que é um projeto orientado ao domínio de negócios que usa uma linguagem ubíqua e não se concentra em linguagens de programação. Ele fornece exemplos de como identificar classes, serviços e atributos em uma frase de negócios e explica os principais conceitos do DDD, como isolar o domínio, entidades versus objetos de valor, serviços, fábricas e repositórios.
1. Domain Driven Design (introdução)
Vitor Castro
facebook.com/aitproeg
sexta-feira, 9 de novembro de 12
2. O que é ?
Projeto orientado a domínio !
Uso de linguagem ubíqua
Não tem foco em Linguagem de Programação
sexta-feira, 9 de novembro de 12
3. Exemplo:
Analise a frase: Temos que emitir a fatura para o
cliente antes da data limite
O que você consegue identificar ?
sexta-feira, 9 de novembro de 12
4. Temos que emitir a fatura para
o cliente antes da data limite
Uma classe para a entidade Cliente;
Uma classe para a entidade Fatura;
Algum serviço que tenha um método emitir;
Algum atributo com o nome de data limite.
sexta-feira, 9 de novembro de 12
5. DDD
Cultivar uma linguagem baseado no modelo.
A equipe de desenvolvimento deve está em constante
conversa com os especialista de negócio.
O modelo deve ser a representação perfeita do
domínio.
sexta-feira, 9 de novembro de 12
8. Camada de Domínio
O pré-requisito para o DDD é o isolamento da
implementação do domínio.
Contém: conceitos, lógicas e regras de negócio
sexta-feira, 9 de novembro de 12
9. Entidade X Objeto de Valor
Entidade: Coisas que necessitem de identidade.
Objeto de Valor: Transportadores de valores, não
precisam de uma identidade.
Agregado: Objeto que associa Entidade ou Objeto de
Valor
sexta-feira, 9 de novembro de 12
10. Serviço
Contém operações de domínio que não pertencem a
Entidade e Objeto de Valor.
Serviço não guarda estado
Enfatiza a relação entre as Entidades e Objeto de Valor
Serviço de Domínio, de aplicativo e de infra-estrutura
sexta-feira, 9 de novembro de 12
11. Exemplo de Serviço:
Aplicação: Processar um entrada de dados
Domínio: Interagir com entidades para executar uma
operação
Infra-estrutura: Enviar email
sexta-feira, 9 de novembro de 12
12. Fábricas
Classes para o processo de criação dos Agregados ou
dos objetos de valor.
Forneçem o encapsulamento para os agregados.
sexta-feira, 9 de novembro de 12
13. Repositórios
Responsável por manter o ciclo de vida(criação,
alteração e remoção) das Entidade e objeto de Valor.
Controla a persistência dos objetos.
sexta-feira, 9 de novembro de 12
14. Obrigado
facebook.com/aitproeg
sexta-feira, 9 de novembro de 12