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
52
Docker
rbraga
0
210
Grunt
rbraga
0
170
Other Decks in Programming
See All in Programming
iOSDC.pdf
chronos2500
1
310
1から理解するWeb Push
dora1998
7
2k
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
890
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
25
12k
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
160
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
2
200
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
600
Introducing FrankenPHP gRPC
dunglas
1
580
はじめてのMaterial3 Expressive
ym223
2
950
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
Server Less Code More - コードを書かない時代に生きるサーバーレスデザイン / server-less-code-more
gawa
3
550
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
410
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.8k
Done Done
chrislema
185
16k
Balancing Empowerment & Direction
lara
3
630
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
The Cult of Friendly URLs
andyhume
79
6.6k
How to Ace a Technical Interview
jacobian
279
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
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