Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Domain Driven Design
Search
Rodrigo Braga
March 13, 2013
Programming
2
230
Domain Driven Design
Rodrigo Braga
March 13, 2013
Tweet
Share
More Decks by Rodrigo Braga
See All by Rodrigo Braga
ISPM Developer Team
rbraga
0
46
Docker
rbraga
0
200
Grunt
rbraga
0
160
Other Decks in Programming
See All in Programming
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
660
Implementing Design Systems in Swift
seyfoyun
0
340
Let's learn code review
riofujimon
2
550
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.6k
Deep Dive into React Stream/Serialize
mugi_uno
0
140
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
新宿ダンジョンを可視化してみた
satoshi7190
2
270
Git Rebase
bkuhlmann
11
1.6k
Ruby Pattern Matching
bkuhlmann
0
930
Goのエラースタックトレースの歴史と今後
sonatard
9
1.7k
Featured
See All Featured
Design by the Numbers
sachag
274
18k
The Invisible Customer
myddelton
114
12k
Embracing the Ebb and Flow
colly
80
4.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
A Modern Web Designer's Workflow
chriscoyier
689
190k
How to name files
jennybc
65
93k
A designer walks into a library…
pauljervisheath
201
23k
Visualization
eitanlees
137
14k
Gamification - CAS2011
davidbonilla
76
4.6k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Transcript
Domain Driven Design! Olá mundo.
quem? Ponta direita ou segundo atacante Sam Fisher
em SplinterCellConviction Altaïr Ibn-La'Ahad em Assassins Creed Oswaldo de Oliveira/Antonio Conte em PES 2013 XGHCP+
Motivações Como viemos parar aqui?
Algumas dessas motivações Conhecer uma abordagem em parte fora
do nosso cotidiano Confrontar as nossas ferramentas com outras até então esquisitas .NET Knockout JS Entity Framework Detalhes em https://github.com/rodrigobraga/ISPM.ToDo
Domain Driven Design? Não é uma tecnologia, metodologia ou um
framework
Princípios básicos Uma coisa é uma coisa outra coisa é
outra coisa
Princípios básicos Foco no domínio.
Princípios básicos linguagem ubíqua e visão compartilhada
O que é afinal o Modelo? O modelo é centro
do universo.
Como representar o modelo De qualquer forma; diagramas, especificações, testes,
etc.; desde que seja fácil compreende-lo sem grandes esforços.
No final, o modelo é na verdade uma representação mental
Tudo mais são apenas ferramentas de comunicação
Elaborando o modelo Criando um modelo para chamar de seu.
Elaborando o modelo Reúna os amigos, é um exercício colaborativo
Elaborando o modelo Discuta sempre baseado em uma linguagem comum
Elaborando o modelo Seja expressivo!
Elaborando o modelo Não precisa ser tão rápido, é um
processo evolutivo.
Elaborando o modelo Testes são fundamentais
Elaborando o modelo Testes automatizados são fundamentais
Práticas Modus Operandi
None
Arquitetura Muitas camadas, como as cebolas
Apresentação Aplicação Domínio Infraestrutura
Entity Possuem uma identidade, persistentes.
Value Objects Sem uma identidade conceitual, frequentemente imutáveis.
Services Frequentemente “stateless”
Repository Uma abstração da camada de persistência
Factory Criação de objetos complexos
Resumidamente? Um exemplo? O código da aplicação deve representar o
domínio https://github.com/rodrigobraga/ISPM.ToDo