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.7k
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
11
7.9k
Event Storming and Narrative
yoskhdia
0
4.9k
Don't build framework, Build platform
yoskhdia
0
220
Reactive Messaging Patternsに学ぶシステム間統合
yoskhdia
2
350
より効果的な目標の立て方 / How to plan your effective experience
yoskhdia
1
980
ドメインイベントを設計する / Modeling the Domain Event
yoskhdia
6
9.7k
実務家のためのSQL / SQL for Beginers
yoskhdia
1
410
DDD + Clean Architecture + UCDOM Full版
yoskhdia
31
11k
DDD + Clean Architecture + UCDOM Essence版
yoskhdia
13
4.4k
Other Decks in Programming
See All in Programming
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
140
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
Introduce Hono CLI
yusukebe
6
3.1k
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
240
Six and a half ridiculous things to do with Quarkus
hollycummins
0
210
Cursorハンズオン実践!
eltociear
2
1.2k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
CSC509 Lecture 06
javiergs
PRO
0
260
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
190
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
530
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Side Projects
sachag
455
43k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
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)