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
1
9.8k
DDD ユビキタス言語再考 / Rethink the ubiquitous language
社内LT用資料
なお、5分にはおさまらなかった模様...
補足を書きました。
http://yoskhdia.hatenablog.com/entry/2016/05/22/182605
Yoshitaka Okuda
May 12, 2016
Tweet
Share
More Decks by Yoshitaka Okuda
See All by Yoshitaka Okuda
明日からはじめられるEventStorming(イベントストーミング) / Let's try EventStorming
yoskhdia
12
8.3k
Event Storming and Narrative
yoskhdia
0
5.2k
Don't build framework, Build platform
yoskhdia
0
240
Reactive Messaging Patternsに学ぶシステム間統合
yoskhdia
2
380
より効果的な目標の立て方 / How to plan your effective experience
yoskhdia
1
1k
ドメインイベントを設計する / Modeling the Domain Event
yoskhdia
6
9.8k
実務家のためのSQL / SQL for Beginers
yoskhdia
1
420
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
あなたはユーザーではない #PdENight
kajitack
4
300
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
140
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
290
CSC307 Lecture 11
javiergs
PRO
0
590
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
150
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
450
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
520
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
340
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
680
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
Discover your Explorer Soul
emna__ayadi
2
1.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
350
Fireside Chat
paigeccino
42
3.8k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
HDC tutorial
michielstock
1
490
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
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)