Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Domain Driven Design
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Rodrigo Braga
March 13, 2013
Programming
240
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Domain Driven Design
Rodrigo Braga
March 13, 2013
More Decks by Rodrigo Braga
See All by Rodrigo Braga
ISPM Developer Team
rbraga
0
54
Docker
rbraga
0
220
Grunt
rbraga
0
180
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
940
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
240
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
The SEO identity crisis: Don't let AI make you average
varn
0
590
How to Ace a Technical Interview
jacobian
280
24k
Product Roadmaps are Hard
iamctodd
55
13k
Prompt Engineering for Job Search
mfonobong
0
520
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Done Done
chrislema
187
17k
WCS-LA-2024
lcolladotor
0
890
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
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