Domain Driven Design     (introdução)

          Vitor Castro
          facebook.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
Obrigado
                                   facebook.com/aitproeg




sexta-feira, 9 de novembro de 12

Mais conteúdo relacionado

DOCX
Universidad de panamá
PPS
Lamagiadelosnúmeros
PPTX
Parlenda cópia
PPTX
Balanç SEFH. Dra. Elvira Gea.
PDF
Lopd Brochure
PPT
Qualidade
PPTX
mi historia
PPTX
Trabajo de informatica
Universidad de panamá
Lamagiadelosnúmeros
Parlenda cópia
Balanç SEFH. Dra. Elvira Gea.
Lopd Brochure
Qualidade
mi historia
Trabajo de informatica

Destaque (20)

PDF
ANGELIKCHAVES
PPSX
Apresentação comercial mogi guaçu nova
PPT
El trueque indio
ODP
Diapositiva
PPTX
Tics
PDF
Angelik
DOCX
PDF
Lazarillode tormesescuderonotaspreviascomentariotexto
ODP
Presentacion
PPTX
El atletismo grupo Calaveras
PPT
Análisis de medios y materiales didácticos
PPS
Aceitacao cela
PPTX
La tecnologia
PPTX
Los años 90 proyecto
PPTX
Temario de seguridad informatica..antivirus informaticos
PPTX
Introducción al dojo 03
PPTX
Los+años+..
PPTX
Modificado
PPTX
Trabalho de estatísticas
ANGELIKCHAVES
Apresentação comercial mogi guaçu nova
El trueque indio
Diapositiva
Tics
Angelik
Lazarillode tormesescuderonotaspreviascomentariotexto
Presentacion
El atletismo grupo Calaveras
Análisis de medios y materiales didácticos
Aceitacao cela
La tecnologia
Los años 90 proyecto
Temario de seguridad informatica..antivirus informaticos
Introducción al dojo 03
Los+años+..
Modificado
Trabalho de estatísticas
Anúncio

Semelhante a Domain Driven Design (20)

PDF
Domain-Driven-Design
PDF
Domain-Driven-Design
PPTX
Domain-Driven Design
PPTX
Domain Driven Design
PPTX
Introdução ao Domain-Driven Design
PPTX
Aula 8 - DDD - Domain Driven Design.pptx
PPTX
DDD – Domain Driven Design
PPTX
DDD - Step by Step
PPT
Domain-Driven Design - Uma Abordagem Introdutória
PPTX
Uma introdução ao Domain Driven Design
PDF
PPTX
Framework Entities - Apresentação da Defesa da Dissertacao
PPTX
Domain-Driven Design
PDF
Projeto Integrador Transdisciplinar em Banco de Dados II.pdf
PDF
Treinamento DDD .Net
PDF
Orientacao a Objetos
PDF
Domain Driven Design com Python
PDF
Projeto Integrador Transdisciplinar em Banco de Dados II
PDF
Projeto Integrador Transdisciplinar em Banco de Dados II
PDF
DDD - Domain Driven Design
Domain-Driven-Design
Domain-Driven-Design
Domain-Driven Design
Domain Driven Design
Introdução ao Domain-Driven Design
Aula 8 - DDD - Domain Driven Design.pptx
DDD – Domain Driven Design
DDD - Step by Step
Domain-Driven Design - Uma Abordagem Introdutória
Uma introdução ao Domain Driven Design
Framework Entities - Apresentação da Defesa da Dissertacao
Domain-Driven Design
Projeto Integrador Transdisciplinar em Banco de Dados II.pdf
Treinamento DDD .Net
Orientacao a Objetos
Domain Driven Design com Python
Projeto Integrador Transdisciplinar em Banco de Dados II
Projeto Integrador Transdisciplinar em Banco de Dados II
DDD - Domain Driven Design
Anúncio

Mais de COTIC-PROEG (UFPA) (20)

PPTX
LT - Redis
PPTX
LT Ansible
PDF
Testes automatizados com Cypress
PDF
PPTX
PDF
Desenvolvimento de software tradicional vs ágil
PPTX
PDF
Atitudes que levam ao Fracasso profissional
PDF
Os 5 Sensos da Qualidade
PDF
WATSON - O Fascinante Computador da IBM
PDF
Produtividade sem enrrolação
PDF
LAB JavaScript
PDF
Principios e Valores Ágeis
PDF
PDF
Metricas para Times Ágeis
PDF
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
PDF
Técnicas para Programação em Par
PDF
Feedback Canvas
PDF
5 Doenças do Gerenciamento de Projetos
LT - Redis
LT Ansible
Testes automatizados com Cypress
Desenvolvimento de software tradicional vs ágil
Atitudes que levam ao Fracasso profissional
Os 5 Sensos da Qualidade
WATSON - O Fascinante Computador da IBM
Produtividade sem enrrolação
LAB JavaScript
Principios e Valores Ágeis
Metricas para Times Ágeis
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Técnicas para Programação em Par
Feedback Canvas
5 Doenças do Gerenciamento de Projetos

Último (19)

PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PPTX
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
PDF
Jira Software projetos completos com scrum
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
ccursoammaiacursoammaiacursoammaia123456
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PDF
Banco de Dados 2atualização de Banco de d
PPT
Aula de Engenharia de Software principais caracteristicas
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
SEMINÁRIO DE IHC - A interface Homem-Máquina
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Processamento da remessa no SAP ERP, SCM610 Col15
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Conceitos básicos de Redes Neurais Artificiais
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
Analise Estatica de Compiladores para criar uma nova LP
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
Jira Software projetos completos com scrum
Processos no SAP Extended Warehouse Management, EWM100 Col26
ccursoammaiacursoammaiacursoammaia123456
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Banco de Dados 2atualização de Banco de d
Aula de Engenharia de Software principais caracteristicas
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx

Domain Driven Design

  • 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
  • 6. Design dirigido por Modelo - MDD sexta-feira, 9 de novembro de 12
  • 7. Isolando o 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