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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
53
Docker
rbraga
0
210
Grunt
rbraga
0
170
Other Decks in Programming
See All in Programming
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
Fragmented Architectures
denyspoltorak
0
150
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
710
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
「ブロックテーマでは再現できない」は本当か?
inc2734
0
930
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Basic Architectures
denyspoltorak
0
670
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
A Soul's Torment
seathinner
5
2.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
64
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The SEO identity crisis: Don't let AI make you average
varn
0
67
Automating Front-end Workflow
addyosmani
1371
200k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
What's in a price? How to price your products and services
michaelherold
247
13k
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