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
DDD ユビキタス言語再考 / Rethink the ubiquitous language
Search
Yoshitaka Okuda
May 12, 2016
Programming
9.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDD ユビキタス言語再考 / Rethink the ubiquitous language
社内LT用資料
なお、5分にはおさまらなかった模様...
補足を書きました。
http://yoskhdia.hatenablog.com/entry/2016/05/22/182605
Yoshitaka Okuda
May 12, 2016
More Decks by Yoshitaka Okuda
See All by Yoshitaka Okuda
明日からはじめられるEventStorming(イベントストーミング) / Let's try EventStorming
yoskhdia
12
8.5k
Event Storming and Narrative
yoskhdia
0
5.6k
Don't build framework, Build platform
yoskhdia
0
250
Reactive Messaging Patternsに学ぶシステム間統合
yoskhdia
2
430
より効果的な目標の立て方 / How to plan your effective experience
yoskhdia
1
1.1k
ドメインイベントを設計する / Modeling the Domain Event
yoskhdia
6
9.9k
実務家のためのSQL / SQL for Beginers
yoskhdia
1
440
DDD + Clean Architecture + UCDOM Full版
yoskhdia
31
11k
DDD + Clean Architecture + UCDOM Essence版
yoskhdia
13
4.5k
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
370
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
510
Workers Cache を知る
syumai
0
210
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
150
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
すこし踏み込む CancellationToken
htkym
2
880
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Intent as Code
shoppingjaws
6
1.1k
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
140
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
610
The World Runs on Bad Software
bkeepers
PRO
72
12k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
530
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Exploring anti-patterns in Rails
aemeredith
4
510
The Curious Case for Waylosing
cassininazir
1
520
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Transcript
DDD ϢϏΩλεݴޠ࠶ߟ 2016/05/12 @yoskhdia ࣾLT
About me • ԞాՂڗʢYoshitaka Okudaʣ • גࣜձࣾSocketʢKDDI Syn.ϗʔϧσΟϯάεάϧʔϓʣ ΞʔΩςΫτ •
Twitter @yoskhdia • interested in DDD/Scala/C#/Reactive System/ Architect/System Thinking/Team Building/ Agile/ܦӦใֶ/On-Road Bike
࠷ۙͷ׆ಈ • DDD+CQRS+ESͷΑ͏ͳɺDDDΛϕʔεʹ ReactiveͳγεςϜΛษڧͨ͠Γ͍ͯ͠·͢ɻ
ϢϏΩλεݴޠ࠶ߟ վΊͯDDDຊୈ̎ষΛಡΉ
Α͋͘Δޡղ ʮϢϏΩλεݴޠʹϢʔβͷݴ༿ʯ
࣮ફ͢Δ·Ͱ ͦ͏ࢥ͍ͬͯ·ͨ͠… ॻ੶Λಡ·ͣʹωοτͷใʹཔΔͱؕΓ͍͢Α͏ͳʁ
ϢϏΩλεݴޠԿނඞཁʁ
–ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.24) “͠ͳ͔Ͱࣝ๛ͳઃܭΛߦ͏ʹɺ ༻్ͷ෯͍ɺڞ༗͞ΕͨνʔϜͷݴޠ ͱɺͦͷݴ༿Λͬͨ׆ൃͳ࣮ݧ͕ඞཁ Ͱ͋Δɻ”
͡ΊͷҰจ ඥղ͘
Ϟσϧ • ͋Δʹରͯ͠ղܾࡦͷදݱ • ϞσϧཧղͷͨΊͷͷͳͷͰɺઃܭ͢Δ͏͑Ͱ Կʢଆ໘ʣΛϞσϧԽ͢Δ͔બ͢Δ ˠͳͥͳΒɺղܾࡦෳଘࡏ͢Δ • ϢʔβʢυϝΠϯΤΩεύʔτʣ։ൃऀಉ͡Ϟ σϧΛڞ༗͢Δ͜ͱ͕େࣄ
• ϞσϧΛڞ༗͠ଓ͚Δʹڧݻͳڞ௨ݴޠ͕ඞཁ
–ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.26) “ϞσϧΛݴޠͷࠎ֨ͱͯ͠༻͢Δ͜ ͱɻʢதུʣݴޠΛ͏্Ͱ͕͋Ε ɺΘΓͷදݱΛ༻͍࣮ͯݧ͢Δ͜ͱ ͰɺΛऔΓআ͘͜ͱɻ”
DDDຊͷఆٛ • ͍ͭϞσϧ͕࠷ળͱݶΒͳ͍ • ۀ࣌ΛܦͯಘΔݟ͔Β৽͍͠ϞσϧΛൃ ݟ͢Δ͜ͱ͋Δ • Ϟσϧͷ͔֬͞Λݴޠͷෆࣗવ͔͞Βݕূ͢Δ • ͲΜͳͱ͖ڞ௨ݴޠΛ͏͜ͱͰࣗવͳؾ
͖ͮΛଅ͢
“υϝΠϯΤΩεύʔτɺυϝΠϯʹͭ ͍ͯͷཧղΛ͑Δʹ͍ʹ͔ͬͨ͘ ΓෆదͩͬͨΓ͢Δ༻ޠߏʹҟٞ Λএ͑Δ͖Ͱ͋Γɺ։ൃऀɺઃܭΛ ͢Δ͜ͱʹͳΔ͍͋·͍͞ෆ߹ ʹΛޫΒͤΔ͖Ͱ͋Δɻ” –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.27)
୭͠ࢥߟͷໃ६ᐆດ͞Λ ๊͍͑ͯΔɻ ࢧ͑߹͏ɻ
“·ͩϞσϧԽ͞Ε͍ͯͳ͍ػೳʹ͍ͭ ͯɺϢʔβ͕ٞ͢Δ࣌ʹɺ༻Ͱ͖ ΔϞσϧଘࡏ͠ͳ͍ɻ͔͠͠ɺ൴Β͕ ։ൃऀͱҰॹʹ৽͍͠ΞΠσΞΛݕ౼͠ ࢝ΊΔͱ͙͢ʹɺڞ༗͞ΕΔϞσϧ ͔͏ख୳Γͷϓϩηε͕։࢝͞ΕΔɻॳ Ί͗ͪ͜ͳͯ͘ෆશ͔͠Εͳ͍͕ɺ ࣍ୈʹվྑ͞Ε͍ͯ͘ɻ” –ॻ੶ʮυϝΠϯۦಈઃܭʯ(p.32)
ϞσϧΛ৭ʑࢼ͢ɺ Ϟσϧͱ֓೦Λ݁ͼ͚ͭͳ͕Βʹͯ͠ΈΔɺ ΑΓ؆୯ʹݴ͑Δํ๏Λݟ͚ͭΔɺ ͦͷ৽͍͠ߟ͑ํΛਤͱίʔυʹ࠶ͼө͢Δ
·ͱΊ • ϢϏΩλεݴޠνʔϜશһͰ߹ҙ͠Δͷ • ϢϏΩλεݴޠɺੳɾϞσϦϯάΛܦͯಘΔදग़ • Ͳ͜Ͱ͏ɻίʔυʹݶΒͣɺλεΫػೳΛهड़͢ΔͨΊʹ ΘΕͳ͚ΕͳΒͳ͍ɻগͳ͘ͱνʔϜͷ͋ΒΏΔ໘Ͱɻ • ϢϏΩλεݴޠɺઃܭʹ͋ͬͯίʔυʹݱΕͳ͍ଆ໘Λୡ͢Δ
ͨΊͷओཁͳखஈ(p.27) • ݴޠϞσϧΛ࣮ݧ͢Δɻ͜ͷϑΟʔυόοΫϧʔϓʹΑΓࣝ๛ ͳϞσϧΛݟ͚ͭग़͠ɺͦͷϞσϧΛৠཹͰ͖ΔΑ͏ʹͳΔɻ(p.14)