Domain Driven Design

Preview:

DESCRIPTION

Introdução ao Domain Driven Design (DDD)

Citation preview

Domain Driven Design (introdução)

Vitor Castrofacebook.com/aitproeg

sexta-feira, 9 de novembro de 12

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

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

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

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

Design dirigido por Modelo - MDD

sexta-feira, 9 de novembro de 12

Isolando o domínio

sexta-feira, 9 de novembro de 12

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

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

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

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

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

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

Obrigadofacebook.com/aitproeg

sexta-feira, 9 de novembro de 12

Recommended