SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
DOMAIN DRIVEN DESIGN
Muito além do
   código
Levantamento de
   requisitos
Evoluindo para um
entendimento mais
     profundo
CUIDADO!
arquitetura com ddd
ddd + oo
=
MODEL DRIVEN DESIGN
model driven design
É EXPRESSADO
              POR
MODEL
DRIVEN
DESIGN
SERVICE




MODEL
DRIVEN
DESIGN
SERVICE



            ENTITY
MODEL
DRIVEN
DESIGN
SERVICE



            ENTITY
MODEL
DRIVEN
DESIGN
             VALUE
             OBJECT
SERVICE


                      ORGANIZADOS
            ENTITY       POR
MODEL
DRIVEN
DESIGN
             VALUE
             OBJECT
SERVICE



            ENTITY
MODEL
DRIVEN
DESIGN                FACTORY
             VALUE
             OBJECT
SERVICE



            ENTITY    AGGREGATE
MODEL
DRIVEN
DESIGN                 FACTORY
             VALUE
             OBJECT
SERVICE            REPOSITORY



            ENTITY      AGGREGATE
MODEL
DRIVEN
DESIGN                   FACTORY
             VALUE
             OBJECT
não!
Repositório não é DAO!
Supple design
Supple design
 INTENTION REVEALING
      INTERFACE
                       Assertions
CLOSURE OF
OPERATIONS         Side Effect Free
                      Functions
 CONCEPTUAL
  CONTOURS
          Standalone Classes
Refactoring para um
Insight mais profundo
um exemplo
o gavião e a barata
        em
      objetos
como eles interagem?
domain expert:
   o gavião normalmente
      come a barata!
desenvolvedor
          como assim
         normalmente?
a barata pode escapar!
finalmente código:
DSL:
 qualquer semelhança
não é mera coincidência
E quando a coisa fica
      preta?
Você
 é
ágil?
Strategic Design
continuous
                        integration
       Bounded
       Context                        shared
                                      kernel
                                     Customer/
                 Context map       Supplier Teams
ubiquitous                       Conformist
language
                       Open Host
                        Service        Published
                                         API
                 Separate ways
Anticorruption
    Layer
DDD e Model Driven Design
DDD e Model Driven Design

Weitere ähnliche Inhalte

Ähnlich wie DDD e Model Driven Design

Introdução ao Domain-Driven Design
Introdução ao Domain-Driven DesignIntrodução ao Domain-Driven Design
Introdução ao Domain-Driven DesignAndré Borgonovo
 
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!Isaac de Souza
 
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 DesignLambda3
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoMarcius Brandão
 
DNAD 2011 - Examinando a Arquitetura Evolucionária
DNAD 2011 - Examinando a Arquitetura EvolucionáriaDNAD 2011 - Examinando a Arquitetura Evolucionária
DNAD 2011 - Examinando a Arquitetura EvolucionáriaLeandro Daniel
 
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQ
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQLidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQ
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQHeber Ortiz
 
Como DDD e principalmente Domain Model contribuem na construção de microservi...
Como DDD e principalmente Domain Model contribuem na construção de microservi...Como DDD e principalmente Domain Model contribuem na construção de microservi...
Como DDD e principalmente Domain Model contribuem na construção de microservi...Isaac de Souza
 
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012Marcius Brandão
 

Ähnlich wie DDD e Model Driven Design (20)

DDD - Step by Step
DDD - Step by StepDDD - Step by Step
DDD - Step by Step
 
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
 
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!
 
Treinamento DDD .Net
Treinamento DDD .NetTreinamento DDD .Net
Treinamento DDD .Net
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
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
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
 
DNAD 2011 - Examinando a Arquitetura Evolucionária
DNAD 2011 - Examinando a Arquitetura EvolucionáriaDNAD 2011 - Examinando a Arquitetura Evolucionária
DNAD 2011 - Examinando a Arquitetura Evolucionária
 
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQ
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQLidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQ
Lidando com fluxos complexos com o uso de Sagas, NServiceBus e RabbitMQ
 
Meetup fujitsu
Meetup fujitsuMeetup fujitsu
Meetup fujitsu
 
clean code
clean codeclean code
clean code
 
Clean Code na Prática
Clean Code na PráticaClean Code na Prática
Clean Code na Prática
 
Behaviour-Driven Development com Ruby
Behaviour-Driven Development com RubyBehaviour-Driven Development com Ruby
Behaviour-Driven Development com Ruby
 
Como DDD e principalmente Domain Model contribuem na construção de microservi...
Como DDD e principalmente Domain Model contribuem na construção de microservi...Como DDD e principalmente Domain Model contribuem na construção de microservi...
Como DDD e principalmente Domain Model contribuem na construção de microservi...
 
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
NOVL - Naked Objects View Language - Apresentação InfoBrasil 2012
 
Arquitetura e agile
Arquitetura e agileArquitetura e agile
Arquitetura e agile
 
Básico de desenvolvimento com Android
Básico de desenvolvimento com AndroidBásico de desenvolvimento com Android
Básico de desenvolvimento com Android
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 

Mehr von Felipe Rodrigues (7)

Rubyon rails
Rubyon railsRubyon rails
Rubyon rails
 
Freelancers
FreelancersFreelancers
Freelancers
 
Agile coaching
Agile coachingAgile coaching
Agile coaching
 
Carreira ágil
Carreira ágilCarreira ágil
Carreira ágil
 
Agile
AgileAgile
Agile
 
Praticas ageis 2012
Praticas ageis 2012Praticas ageis 2012
Praticas ageis 2012
 
Práticas Ágeis
Práticas ÁgeisPráticas Ágeis
Práticas Ágeis
 

DDD e Model Driven Design