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
DDD ユビキタス言語再考 / Rethink the ubiquitous language
Search
Yoshitaka Okuda
May 12, 2016
Programming
9.8k
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.4k
Event Storming and Narrative
yoskhdia
0
5.4k
Don't build framework, Build platform
yoskhdia
0
250
Reactive Messaging Patternsに学ぶシステム間統合
yoskhdia
2
400
より効果的な目標の立て方 / How to plan your effective experience
yoskhdia
1
1.1k
ドメインイベントを設計する / Modeling the Domain Event
yoskhdia
6
9.9k
実務家のためのSQL / SQL for Beginers
yoskhdia
1
430
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
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
190
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
New "Type" system on PicoRuby
pocke
1
870
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
230
net-httpのHTTP/2対応について
naruse
0
480
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
230
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
240
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
A Tale of Four Properties
chriscoyier
163
24k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
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)