DDD agile rio

43
DOMAIN DRIVEN DESIGN

description

 

Transcript of DDD agile rio

Page 1: DDD agile rio

DOMAIN DRIVEN DESIGN

Page 2: DDD agile rio

Muito além do código

Page 3: DDD agile rio

Levantamento de requisitos

Page 4: DDD agile rio
Page 5: DDD agile rio

Evoluindo para um entendimento mais

profundo

Page 6: DDD agile rio

CUIDADO!

Page 7: DDD agile rio

arquitetura com ddd

Page 8: DDD agile rio
Page 9: DDD agile rio
Page 10: DDD agile rio
Page 11: DDD agile rio

ddd + oo

Page 12: DDD agile rio

=MODEL DRIVEN DESIGN

Page 13: DDD agile rio

model driven design

Page 14: DDD agile rio

MODEL DRIVENDESIGN

É EXPRESSADO POR

Page 15: DDD agile rio

MODEL DRIVENDESIGN

SERVICE

Page 16: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

Page 17: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

VALUE OBJECT

Page 18: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

VALUE OBJECT

ORGANIZADOS POR

Page 19: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

VALUE OBJECT

FACTORY

Page 20: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

VALUE OBJECT

FACTORY

AGGREGATE

Page 21: DDD agile rio

MODEL DRIVENDESIGN

ENTITY

SERVICE

VALUE OBJECT

FACTORY

REPOSITORY

AGGREGATE

Page 22: DDD agile rio

não!Repositório não é DAO!

Page 23: DDD agile rio
Page 24: DDD agile rio

Supple design

Page 25: DDD agile rio

Supple design

INTENTION REVEALING INTERFACE

Standalone Classes

Assertions

Side Effect Free Functions

CONCEPTUAL CONTOURS

CLOSURE OF OPERATIONS

Page 26: DDD agile rio

Refactoring para um Insight mais profundo

Page 27: DDD agile rio

um exemplo

Page 28: DDD agile rio

o gavião e a barataem

objetos

Page 29: DDD agile rio

como eles interagem?

Page 30: DDD agile rio
Page 31: DDD agile rio
Page 32: DDD agile rio

o gavião normalmentecome a barata!

como assim normalmente?

domain expert:

desenvolvedor

Page 33: DDD agile rio

a barata pode escapar!

Page 34: DDD agile rio
Page 35: DDD agile rio

finalmente código:

Page 36: DDD agile rio
Page 37: DDD agile rio

DSL: qualquer semelhança

não é mera coincidência

Page 38: DDD agile rio

E quando a coisa fica preta?

Page 39: DDD agile rio

Você é

ágil?

Page 40: DDD agile rio

Strategic Design

Page 41: DDD agile rio

ubiquitous language

BoundedContext

continuousintegration

Context map

shared kernelCustomer/

Supplier Teams

Conformist

Open Host Service Published

API

Anticorruption Layer

Separate ways

Page 42: DDD agile rio
Page 43: DDD agile rio