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 agile rio
DDD agile rio

DDD agile rio