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 BoundedContext
Search
petitviolet
November 22, 2017
Programming
1
130
DDD BoundedContext
What is `Bounded Context` in Domain Driven Design(DDD)
petitviolet
November 22, 2017
Tweet
Share
More Decks by petitviolet
See All by petitviolet
Stripeで請求書払い&銀行振込を実装する
petitviolet
0
1.2k
ピュアなドメインを支える技術/pure domain model and the technology behind it
petitviolet
14
9.9k
小さく始めるクラウドネイティブ/small start CloudNative
petitviolet
0
1.8k
2019年だからこそ12factor app/The Twelve-Factor app in 2019
petitviolet
1
970
実践GraphQL on Scala/Real world GraphQL on Scala
petitviolet
8
2.9k
Kubernetesを知る/Introduction Kubernertes
petitviolet
1
620
GraphQL on Scala
petitviolet
3
2.6k
Microservices Batch on GAE
petitviolet
0
1.9k
Web API Design
petitviolet
18
8.2k
Other Decks in Programming
See All in Programming
たのしいparse.y
ydah
3
120
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
370
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
CSC305 Lecture 26
javiergs
PRO
0
140
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
260
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
940
선언형 UI에서의 상태관리
l2hyunwoo
0
170
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
430
testcontainers のススメ
sgash708
1
120
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
KATA
mclloyd
29
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Visualization
eitanlees
146
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Scaling GitHub
holman
458
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Transcript
#PVOEFE$POUFYU ࠶ೖ !QFUJUWJPMFU
͓͠ͳ͕͖ w #PVOEFE$POUFYUͬͯͳʹ w Կ͕خ͍͠ʁ w #PVOEFE$POUFYUͷΓํ w ྫ͑ w
$POUFYUͷ౷߹ w ·ͱΊ
#PVOEFE$POUFYU ͬͯͳʹʁ
ఆٛͨ͠Ϟσϧ͕ ద༻͞ΕΔείʔϓ
#PVOEFE$POUFYUͱ w ఆٛͨ͠Ϟσϧ͕ద༻͞ΕΔείʔϓ w ϞσϧͷதʹͦͷϞσϧͷ֓೦ɺϧʔϧɺ ϢϏΩλεݴޠؚ͕·Ε͍ͯΔ w ผͷ$POUFYUʹ͓͍ͯద༻͞Εͳ͍ w $POUFYUͰϞσϧݫີʹҰ؏ੑΛอͭ
#PVOEFE$POUFYU Կ͕خ͍͠ʁ
͍είʔϓͰϞσϧΛద༻ WT ڱ͍είʔϓͰϞσϧΛద༻
͍είʔϓͰϞσϧΛద༻ WT ڱ͍είʔϓͰϞσϧΛద༻ ͲͪΒ͕ɺϞσϧ͕໌֬ʹͳΔ͔ ͲͪΒ͕ɺҰ؏ੑΛอ͍͔ͪ͢
#PVOEFE$POUFYUԿ͕خ͍͠ʁ w ʮ$POUFYUʯͱ͍͏ڥքΛҾ͘͜ͱʹΑͬͯɺԿ ʹҰ؏ੑΛ࣋ͨͤΔ͖Ͱ͋Δͷ͔͕໌֬ʹͳΔ w ࣗ༝ͳੈքΑΓదͳ੍ w ֎෦ͷ$POUFYUʹҙࣝΛ͚Δඞཁ͕ͳ͘ͳΓɺ ϞσϧΛ७ਮʹอͭ͜ͱ͕ग़དྷΔ
#PVOEFE$POUFYUԿ͕خ͍͠ʁ w $POUFYUͷଘࡏͰΤϯδχΞͷ͕࢟มΘΔʁ w Ϟσϧ͕ద༻͞ΕΔείʔϓ͕ڱ·Δ w Ұ؏ੑΛอ͖ͭείʔϓڱ·Δ w ڱ͍είʔϓ͔ͩΒͦ͜ݫີʹकΔ
#PVOEFE$POUFYU ͷΓํ
ͲΜͳ୯ҐͰΕ͍͍ʁ ΤϯςΟςΟԿݸ͘Β͍ʁ
ਖ਼ղͳ͍
ϢϏΩλεݴޠʹͳ͍Α͏ͳ֓೦Λ ϞσϧʹऔΓࠐΜͩΓɺ ͋Δ͍େࣄͳ֓೦Λ֎ʹग़ͨ͠Γ ͠ͳ͍Α͏ʹؾΛ͚Α͏ɻ
Ͳ͏ͬͯ#PVOEFE$POUFYUΛΔ͔ w ཧతʹΘ͚Δ w νʔϜฤ w ίʔυϕʔε w σʔλϕʔεεΩʔϚ w
FUD w $POUFYUࣗʹϢϏΩλεͳ໊લΛ͚ͭΔ w ଞͷ$POUFYUͱ໌֬ʹ۠ผ͢Δ
ͨͱ͑ ग़൛ࣾͷۀ
ग़൛ࣾͷۀ ॻ੶ͷ༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖΛ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛཧ͢Δ ॻ੶ͷஸૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ༁͢Δ ࢴͷॻ੶ిࢠ൛Λ࡞͢Δ ॻ੶Λએ͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀސ٬ʹग़ՙ͢Δ
ग़൛ࣾͷۀ ॻ੶ͷ༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖΛ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛཧ͢Δ ॻ੶ͷஸૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ༁͢Δ ࢴͷॻ੶ిࢠ൛Λ࡞͢Δ ॻ੶Λએ͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀސ٬ʹग़ՙ͢Δ
શͯผͷ$POUFYU
ग़൛ࣾͷۀ ॻ੶ͷ༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖΛ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛཧ͢Δ ॻ੶ͷஸૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ༁͢Δ ࢴͷॻ੶ిࢠ൛Λ࡞͢Δ ॻ੶Λએ͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀސ٬ʹग़ՙ͢Δ
ग़൛ࣾͷۀ ॻ੶ͷ༰ΛҊͱͯ͠·ͱΊɺىҊ͢Δ ஶऀͱग़൛ܖΛ݁Ϳ ॻ੶ͷࣥචͱฤूͷϓϩηεΛཧ͢Δ ॻ੶ͷஸૠֆΛσβΠϯ͢Δ ॻ੶Λଞͷݴޠʹ༁͢Δ ࢴͷॻ੶ిࢠ൛Λ࡞͢Δ ॻ੶Λએ͢Δ ॻ੶Λ࠶ൢۀऀʹൢച͢Δ ࢴͷॻ੶Λ࠶ൢۀऀސ٬ʹग़ՙ͢Δ
ʮॻ੶ʯ શ෦ಉ͡ͷʁ
ग़൛ࣾͷۀ w ʮॻ੶ʯ w ಉ͡ݴ༿͚ͩͲಉ͡ͷͰͳ͍ w ֤$POUFYUʹ͓͍ͯఆ͕ٛҧ͏ w ࣥචϓϩηεͷॻ੶ w
ߘɺίϝϯτɺߍਖ਼ɺFUD w ग़ՙϓϩηεͷॻ੶ w ݿͷҐஔɺࡏݿɺαΠζɺFUD w ಉࣝ͡ผࢠΛڞ༗ͯ͠Մೳʹ͢Δ͕ɺ ֤$POUFYUʹ͓͚Δʮॻ੶ʯΛද͢ϞσϧҟͳΔ
$POUFYUͷ౷߹
$POUFYUͷ౷߹ w #PVOEFE$POUFYUͰۀΛΓ͚ͨ w ͡Ό͋Ͳ͏ͬͯ࿈ܞ͢Δ͔ w ίϯςΩετϚοϓ w ౷߹ύλʔϯ
ίϯςΩετϚοϓ
ίϯςΩετϚοϓ w ϓϩδΣΫτʹؔΘΔڥք͚ΒΕͨίϯςΩε τͱͦΕΒͷ౷߹ؔΛࣔ͢ͷ w طଘͷγεςϜͷશΛѲͰ͖Δ w ίϛϡχέʔγϣϯ͕ඞཁͳνʔϜΛಛఆ͢Δ w 6QTUSFBN%PXOTUSFBN
w ্ྲྀԼྲྀ
$POUFYU౷߹ύλʔϯ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ޭࣦഊͷӡ໋Λڞʹ͢Δ νʔϜؒͰڠྗؔΛங͘ඞཁ͕͋Δ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ίϯςΩετ͕ͭɻҎ্ɻ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ͭͷίϯςΩετΛ ෳͷίϯςΩετ͕ࢀর
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ΞΫηε͢ΔͨΊͷ ϓϩτίϧΛެ։͢Δ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ্ྲྀͱԼྲྀʹΘ͔Εͯ Լྲྀͷ݁Ռʹ্ྲྀ͕ίϛοτ͢Δ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ্ྲྀͱԼྲྀʹΘ͔ΕΔ͕ Լྲ্ྀྲྀʹ߹ΘͤΔ͔͠ͳ͍
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ্ྲྀΛִ͢ΔͨΊͷ มΛ௨ͯ͠ Լྲ্ྀ͕ྲྀΛར༻͢Δ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ౷߹ఘΊΔ
$POUFYU౷߹ύλʔϯ w ύʔτφʔγοϓ w ୯ҰͷίϯςΩετ w ڞ༗Χʔωϧ w ެ։ϗεταʔϏε w
ސ٬ڙڅऀ w ॱԠऀ w ഊࢭ w ผʑͷಓ ౷߹ύλʔϯΛࢀߟʹ ίϯςΩετɾνʔϜͷؔΛ໌֬ʹͯ͠ ͏·͘࿈ܞ͍ͯ͘͜͠ͱ͕େࣄ
·ͱΊ
#PVOEFE$POUFYU ҰମͳΜͩͬͨͷ͔
#PVOEFE$POUFYUҰମͳΜͩͬͨͷ͔ w ఆٛ͢ΔϞσϧ͕ద༻͞ΕΔείʔϓ w ϞσϧΛΑΓ໌֬ʹ͢ΔͨΊ w ίϯςΩετϚοϓΛඳ͘ w શମΛ၆ᛌ͠ɺίϛϡχέʔγϣϯ͢Δ w
ίϯςΩετΛ౷߹͢Δ w Ͳ͏࿈ܞ͢Δ͔Λ໌Β͔ʹ
େنγεςϜ։ൃΛ νʔϜʹΘ͔Εͯ ࿈ܞ͍ͯͨ͘͠Ίͷ֓೦
֤νʔϜ Ϟσϧίϛϡχέʔγϣϯʹ͍ͭͯ ߟ͑Δ͜ͱ͕ݮΔ WT ཧతʹΘ͔ΕΔͷͰ ௐͱ͔σϓϩΠͱ͔ӡ༻ͱ͔Ͱ ߟ͑Δ͜ͱ͕૿͑Δ
None