DDD agile rio

Post on 26-Jan-2015

87 views 0 download

description

 

Transcript of DDD agile rio

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