Date post: | 02-Nov-2014 |
Category: |
Technology |
Upload: | milfont-consulting |
View: | 4 times |
Download: | 0 times |
Domain Driven Design [DDD]
Combatendo a complexidade no desenvolvimento de
software
Christiano MilfontUnifor 2010, FortalezaCopyleft 2010 Milfont.org
Requirements
Design
Implementation
Testing
Maintenance
Deployment
Waterfall
Requirements
Design
Implementation
Testing
Maintenance
Deployment
Waterfall
Design
Design
Requirements
Design
Implementation
Testing
Maintenance
Deployment
Waterfall
Requirements
Design
Implementation
Testing
Maintenance
Deployment
Test First
Requirements
Design
Implementation
Testing
Maintenance
Deployment
Test First
Requirements
Design Implementation
Testing
Maintenance
Deployment
Test First
Linguagem Ubíqua
"A language structured around the domain model and used by all team members to connect all the activities of the team with the software."
Um Membro do projeto cadastra uma “Issue” no sistema.
Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas.
Um Funcionário do hospital dá entrada do Paciente na Emergência.
O Cenário de entrada por pacientes depende do Login do usuário com ROLE Admin na Action antes do forward.
Um funcionário atende uma solicitação de saída de medicamento pelo prontuário do paciente com limite do cardápio do médico.
A Tabela TB_ITEMS tem ligação com a Tabela TB_NOTAS
Um Membro do projeto cadastra uma “Issue” no sistema.
Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas.
Um Funcionário do hospital dá entrada do Paciente na Emergência.
O Cenário de entrada por pacientes depende do Login do usuário com ROLE Admin na Action antes do forward.
Um funcionário atende uma solicitação de saída de medicamento pelo prontuário do paciente com limite do cardápio do médico.
A Tabela TB_ITEMS tem ligação com a Tabela TB_NOTAS
Um Membro do projeto cadastra uma “Issue” no sistema.
Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas.
Um Funcionário do hospital dá entrada do Paciente na Emergência.
O Cenário de entrada por pacientes depende do Login do usuário com ROLE Admin na Action antes do forward.
Um funcionário atende uma solicitação de saída de medicamento pelo prontuário do paciente com limite do cardápio do médico.
A Tabela TB_ITEMS tem ligação com a Tabela TB_NOTAS
LoginAction
LoginForm
LoginVO
LoginBO
DATABASE
LoginDAO
Lembra como voce
fazia no Struts?
LoginBean
LoginVO
LoginDATABASE
LoginDAO
E sua variação JSF?
GenericDAO
LoginBO
LoginFacade
Login DATABASE
LoginRepository
Agora você é moderno
GenericRepository
LoginService
LoginFacade
Login DATABASE
LoginRepository
Agora você é moderno
GenericRepository
LoginService
Armas não matam pessoas...
Pessoas matam pessoas...
Hands on...
encapsulate with
MODEL-DRIVEN
DESIGN
express model with
isolate domain with
encapsulate with
ENTITIES
VALUE OBJECTS
LAYERED
ARCHITECTURE
AGGREGATES
REPOSITORIES
act as root of
SMART UI
X
FACTORIES
encapsulate with
express model with
encapsulate with
mutually exclusivechoices
access with
maintain integrity with
access withSERVICES
express model with
Domain Element State/BehaviorEntity, Value Object, Aggregate State and Behavior
Data Transfer Object State onlyService, Repository Behavior only
CONTEXT MAP
overlap allied contexts through
overlap unilaterally as
support multipleclients through
formalize as
CONTINUOUS
INTEGRATION
CUSTOMER/
SUPPLIER
TEAMS
CONFORMIST
OPEN HOST
SERVICE
SEPARATE
WAYS
PUBLISHED
LANGUAGE
SHARED
KERNEL
relate allied contexts as
free teams to go
ANTICORRUPTION
LAYER
translate and insulateunilaterally with
BOUNDED
CONTEXT
keep model unified by
assess/overview relationships with
UBIQUITOUS
LANGUAGE
namesenter
TranslationMap
shared
Shared Kernel
Model in Context
Model in Context
TranslationMap
Context Map
Perguntas?
http://www.milfont.org/tech/2010/05/27/palestra-bdd-unifor-2010/