Post on 26-Jan-2015
description
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
MODEL DRIVENDESIGN
É EXPRESSADO POR
MODEL DRIVENDESIGN
SERVICE
MODEL DRIVENDESIGN
ENTITY
SERVICE
MODEL DRIVENDESIGN
ENTITY
SERVICE
VALUE OBJECT
MODEL DRIVENDESIGN
ENTITY
SERVICE
VALUE OBJECT
ORGANIZADOS POR
MODEL DRIVENDESIGN
ENTITY
SERVICE
VALUE OBJECT
FACTORY
MODEL DRIVENDESIGN
ENTITY
SERVICE
VALUE OBJECT
FACTORY
AGGREGATE
MODEL DRIVENDESIGN
ENTITY
SERVICE
VALUE OBJECT
FACTORY
REPOSITORY
AGGREGATE
não!Repositório não é DAO!
Supple design
Supple design
INTENTION REVEALING INTERFACE
Standalone Classes
Assertions
Side Effect Free Functions
CONCEPTUAL CONTOURS
CLOSURE OF OPERATIONS
Refactoring para um Insight mais profundo
um exemplo
o gavião e a barataem
objetos
como eles interagem?
o gavião normalmentecome a barata!
como assim normalmente?
domain expert:
desenvolvedor
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
ubiquitous language
BoundedContext
continuousintegration
Context map
shared kernelCustomer/
Supplier Teams
Conformist
Open Host Service Published
API
Anticorruption Layer
Separate ways