SlideShare une entreprise Scribd logo
1  sur  14
GUMA-RS
        Prática
DDD – Domain Driven Design




        saraiva :D)
Porquê DDD?


                 “Gerência”
   Scrum
    cerimónias


?????débitos     Engenharia
técnicos?????
Porquê DDD?


                “Gerência”
   Scrum
   cerimónias



DDD, TDD, IC    Engenharia
DDD
      Domínio
DDD
Modelos
 * Modelo não é UML.
 * Modelos são abstrações.
 * Equipe e especialista do
 domínio definem o modelo.



                              século 18 – china
DDD


Como ligar o modelo
 a implementação?
DDD

OOP e outras
cositas mas!!
DDD
Linguagem Onipresente (Ubíqua)
DDD
Entidades

            - São objetos que possuem :
            • identidade para o domínio
            • representação distintas
DDD
Objetos de Valor
 * Não possui identidade para o domínio
 * Suas propriedades o identificam
 * São imutáveis
DDD
Agregações
* Grupo de objetos
* Um objeto filho não tem o menor sentido sem o seu “pai”
* Agregações definem fronteiras claras (raiz )
* Toda alteração de um agregado passam pela raiz
* Toda referência de um agregado passa pela raiz
* Quando a raiz do é excluída seus agregado também são
* Regras de negócio são garantidas na raiz e nos agregados
DDD
Serviços
* Operações importantes que não se encaixam em
entidades e objetos de valores
* Necessidade de trabalhar com mais de uma entidade
DDD
Repositórios
* Guardar e recuperar os objetos
* Não tem regra de negócio
Perguntas?




  @jonatassaraiva
  jonatassaraiva.net

Contenu connexe

En vedette

Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
Thoughtworks
 

En vedette (14)

REST - Padroes e Melhores Praticas
REST - Padroes e Melhores PraticasREST - Padroes e Melhores Praticas
REST - Padroes e Melhores Praticas
 
DDD - Domain Driven Design
DDD - Domain Driven DesignDDD - Domain Driven Design
DDD - Domain Driven Design
 
Introdução ao DDD
Introdução ao DDDIntrodução ao DDD
Introdução ao DDD
 
Story and Emergent Design
Story and Emergent DesignStory and Emergent Design
Story and Emergent Design
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
Web Services Rest
Web Services RestWeb Services Rest
Web Services Rest
 
DDD in PHP
DDD in PHPDDD in PHP
DDD in PHP
 
Emergent design - PHP Jo'burg 2015
Emergent design - PHP Jo'burg 2015Emergent design - PHP Jo'burg 2015
Emergent design - PHP Jo'burg 2015
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NET
 
DDD - Domain Driven Design
DDD - Domain Driven DesignDDD - Domain Driven Design
DDD - Domain Driven Design
 
Domain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVCDomain-Driven Design with ASP.NET MVC
Domain-Driven Design with ASP.NET MVC
 
Implementing DDD with C#
Implementing DDD with C#Implementing DDD with C#
Implementing DDD with C#
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 

Similaire à DDD – Domain Driven Design

Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven Design
André Borgonovo
 
Uma introdução ao Domain Driven Design
Uma introdução ao Domain Driven DesignUma introdução ao Domain Driven Design
Uma introdução ao Domain Driven Design
Lambda3
 

Similaire à DDD – Domain Driven Design (20)

Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven Design
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!
 
Uma introdução ao Domain Driven Design
Uma introdução ao Domain Driven DesignUma introdução ao Domain Driven Design
Uma introdução ao Domain Driven Design
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
 
Domain-Driven Design - Uma Abordagem Introdutória
Domain-Driven Design - Uma Abordagem IntrodutóriaDomain-Driven Design - Uma Abordagem Introdutória
Domain-Driven Design - Uma Abordagem Introdutória
 
DDD manipulando mais que bytes
DDD   manipulando mais que bytesDDD   manipulando mais que bytes
DDD manipulando mais que bytes
 
Treinamento DDD .Net
Treinamento DDD .NetTreinamento DDD .Net
Treinamento DDD .Net
 
Modular CSS - Projetando CSS para aplicativos
Modular CSS - Projetando CSS para aplicativosModular CSS - Projetando CSS para aplicativos
Modular CSS - Projetando CSS para aplicativos
 
clean code
clean codeclean code
clean code
 
Foco no app, viva o serverless!
Foco no app, viva o serverless!Foco no app, viva o serverless!
Foco no app, viva o serverless!
 
BDD em Testes de Serviço
BDD em Testes de ServiçoBDD em Testes de Serviço
BDD em Testes de Serviço
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
 
Domain driven design na Prática
Domain driven design na PráticaDomain driven design na Prática
Domain driven design na Prática
 
5 bdoo+bdor
5 bdoo+bdor5 bdoo+bdor
5 bdoo+bdor
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
xDD
xDDxDD
xDD
 
DDD e Rails
DDD e RailsDDD e Rails
DDD e Rails
 
BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
 

Dernier

Dernier (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

DDD – Domain Driven Design