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
120
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
810
ピュアなドメインを支える技術/pure domain model and the technology behind it
petitviolet
14
9.4k
小さく始めるクラウドネイティブ/small start CloudNative
petitviolet
0
1.6k
2019年だからこそ12factor app/The Twelve-Factor app in 2019
petitviolet
1
920
実践GraphQL on Scala/Real world GraphQL on Scala
petitviolet
8
2.7k
Kubernetesを知る/Introduction Kubernertes
petitviolet
1
560
GraphQL on Scala
petitviolet
3
2.4k
Microservices Batch on GAE
petitviolet
0
1.8k
Web API Design
petitviolet
18
7.7k
Other Decks in Programming
See All in Programming
Let's learn code review
riofujimon
2
610
Milestoner
bkuhlmann
1
420
Open standards for building event-driven applications in the cloud
meteatamel
0
190
PHPはいつから死んでいるかの調査
chiroruxx
2
420
Git Lint
bkuhlmann
4
760
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
460
WebGLで始める コンピュータグラフィックス入門
heller77
0
330
Fast JSX: Don't clone props object #28768
yossydev
1
200
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
250
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
530
パフォーマンスを求めてDBに機能を寄せる戦略
aoyagikouhei
0
110
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
Design by the Numbers
sachag
274
18k
RailsConf 2023
tenderlove
9
570
How GitHub (no longer) Works
holman
305
140k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Done Done
chrislema
178
15k
Code Reviewing Like a Champion
maltzj
515
39k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
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