Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ドメイン駆動設計の紹介
Search
haljik
September 27, 2018
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ドメイン駆動設計の紹介
haljik
September 27, 2018
More Decks by haljik
See All by haljik
develop-with-domain-expert
haljik
1
1.2k
Isolating-the-domainの紹介
haljik
3
1.8k
普段使いのDDD
haljik
21
9.5k
実録Spring MVC
haljik
10
5k
ドメイン駆動設計を軽快に実践するための工夫
haljik
22
7.7k
Other Decks in Programming
See All in Programming
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
What We Talk About When We Talk About XP
m_seki
2
640
Java 27新機能 / Java 27 new features
kishida
2
150
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
210
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
130
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
150
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
720
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
210
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
670
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
The Limits of Empathy - UXLibs8
cassininazir
1
680
Discover your Explorer Soul
emna__ayadi
2
1.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
Embracing the Ebb and Flow
colly
88
5.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Exploring anti-patterns in Rails
aemeredith
4
510
Building an army of robots
kneath
307
46k
Transcript
υϝΠϯۦಈઃܭͷհ େਖ਼(FFL/JHIU7PM !IBMKJL
ࣗݾհ w Δͬ͘͡ w 5XJUUFS!IBMKJL w ϑϦʔϥϯε w +BWBϓϩάϥϚʔ w
̍ࣇͷ w ϚΠΫϩαʔϏε͕Θ͔Γ· ͤΜ
ࢲͷυϝΠϯۦಈઃܭྺ w ژ%%%ಡॻձʹࢀՃͨ͠ͷ͕࠷ॳ w ݱࡏ·ͰখنͭɺதنͷͭͷϓϩδΣΫτͰυϝΠ ϯۦಈઃܭΛ࣮ફ w ΄΅8FCΞϓϦͷΈ w ҰԠશγεςϜ͕ݱͰར༻͞Ε͍ͯΔঢ়گ
w ͏·͍͍ͬͯ͘Δͱ͜Ζ͋Δ͕ɺਂ͍Ϟσϧʹ౸ୡͰ͖ ͳ͍··ऴΘΓɺطʹϞσϧͷҙਤ͕Խͯ͠Δͷ
%%%ʹର͢Δࢲͷݱঢ় w શʹཧղͨ͠ w ͳʹΘ͔Βͳ͍ w ͪΐͬͱͰ͖Δ w ͳʹΘ͔Βͳ͍͜͜
ΤϦοΫɾΤϰΝϯεͷ υϝΠϯۦಈઃܭ͔Β w ·͕͖͑ʙୈ෦υϝΠϯϞσϧΛػೳͤ͞Δ w ·͕͖͑ w ୈষɿࣝΛ͔Έࡅ͘ w ୈষɿίϛϡχέʔγϣϯͱݴޠͷ͍ํ
w ୈষɿϞσϧͱ࣮Λ݁ͼ͚ͭΔ w ୈ෦Ϟσϧۦಈઃܭͷߏཁૉ w ୈষɿυϝΠϯΛִ͢Δ w ୈষɿιϑτΣΞͰදݱ͞ΕͨϞσϧ w ୈষɿݴޠΛ༻͢Δ w ୈ෦ΑΓਂ͍ಎ͔͏ϦϑΝΫλϦϯά w ୈষɿ͠ͳ͔ͳઃܭ͔Βʮ֓೦ͷྠֲʯ w ୈ෦ઓུతઃܭ w ୈষɿڥք͚ͮΒΕͨίϯςΩετ w ୈষɿৠཹ
ҙ ͔ͬ͜ॻ͖ ʜ ͷதࢲݟͰ͢
·͕͖͑ʙୈ̍෦ υϝΠϯϞσϧΛػೳͤ͞Δ w ·͕͖͑ w ୈ̍ষɿࣝΛ͔Έࡅ͘ w ୈ̎ষɿίϛϡχέʔγϣϯͱݴޠͷ͍ํ w ୈ̏ষɿϞσϧͱ࣮Λ݁ͼ͚ͭΔ
·͕͖͑ w ෳࡶ͕͞՝Ͱ͋Δ w ར༻ऀͷ׆ಈʹؔ͢ΔΛղܾ͢Δͷ͕ιϑτΣ Ξͷ֩৺ ͦΕҎ֎ͲΕ΄Ͳʮॏཁʯͩͱͯͦ͠ΕΛࢧ͑Δ ͷͰ͔͠ͳ͍ w ։ൃ͕ΠςϨʔςΟϒͰ͋Δલఏ
w ։ൃऀͱυϝΠϯΤΩεύʔτ͕ີʹؔΘ͍ͬͯΔ લఏ
ୈ̍ষ ࣝΛ͔Έࡅ͘ w ΄ͱΜͲ͕ࣝͳ͍୯७ͳϞσϧ͔ΒձΛ࢝ΊΔ w ։ൃऀͷ࣭ʹ͑Δ͜ͱͰυϝΠϯΤΩεύʔτࣝͷཧղ͕ਫ਼៛ʹͳΔ w ։ൃऀͪΖΜ͕ࣝ૿͑Δ w ॏཁͳͷΛϞσϧʹಋೖ͠ɺಉ࣌ʹෆཁͳৄࡉΛল͘
ୈষৠཹͭͳ͕Δ w ͦͷϞσϧΛݩʹ·ͨձΛ͢Δ w ͜ΕΒΛ܁Γฦ͢ w Ӆ͞Εͨ֓೦Λൃݟ͠ਂ͍Ϟσϧʹ౸Δ
ୈ̎ষ ίϛϡχέʔγϣϯͱݴޠͷ͍ํ w ٕज़༻ޠΘͳ͍ w ͍ͭͰͲ͜ͰϢϏΩλεݴޠ w Λग़ͯ͠ϞσϦϯά͢Δ w ҧײ͍͋·͍͞Λݕ
w ಉ͡ҙຯͷΑ͏ʹฉ͑͜Δҧ͏ݴ༿Λݕ ʢ͔ͨ͠͠ΒΘΕΔจ຺͕ҧ͏͔͠Εͳ͍ʣ w ̍ͭͷνʔϜʹ̍ͭͷݴޠ ίϯΣΠͷ๏ଇͱ͔̐ষͷڥք͚ΒΕͨίϯςΩετʹͭͳ͕Δ
ୈ̏ষ Ϟσϧͱ࣮Λ݁ͼ͚ͭΔ w ੳϞσϧͱ࣮ΛҰகͤ͞Δ w ϞσϦϯάύϥμΠϜΛαϙʔτ͢ΔݴޠͰ࣮͠Α͏ w ࣮ફతϞσϥɿੳऀͱ࣮ऀಉ͡ਓ
·͕͖͑ʙୈ̍෦ͷ·ͱΊ w ·͕͖͑ෳࡶ͞ͱ͍͏՝Λఏ͍ࣔͯ͠Δ w ୈ̍෦ͷϢϏΩλεݴޠΛͬͨϞσϧۦಈઃܭυϝΠ ϯۦಈઃܭͷओͳ׆ಈ w ୈ෦Ҏ߱ͯ͢ୈ̍෦Ͱඳ͔Εͨ׆ಈͷதͰΤϦοΫɾ ΤϰΝϯε͕࣮ࡍʹ໘ͨ͠՝ʹର͢ΔιϦϡʔγϣϯ
ୈ෦ Ϟσϧۦಈઃܭͷߏཁૉ w ୈষɿυϝΠϯΛִ͢Δ w ୈষɿιϑτΣΞͰදݱ͞ΕͨϞσϧ w ୈষɿݴޠΛ༻͢Δ
ୈষ υϝΠϯΛִ͢Δ w ΠϯϑϥετϥΫνϟ6*͔ΒυϝΠϯΛִͯ͠ɺूத Ͱ͖ΔΑ͏ʹ͠Α͏ ʢϨΠϠʔυΞʔΩςΫνϟ͚ͩͲɺυϝΠϯ͕Πϯϑϥ ετϥΫνϟʹґଘ͍ͯ͠Δਤʹͳͬͯͯྲྀੴʹݹ͍ʣ
ୈষ ιϑτΣΞͰදݱ͞ΕͨϞσϧ w ΤϯςΟςΟɺΦϒδΣΫτɺαʔϏεͰදݱ͢Δ ʢαʔϏεͬͯͳ͍ʣ w ؔ࿈ w ؔ࿈ͷํॏཁΛද͢͜ͱ͕͋Δ ྫʮຊʯͱͦͷʮ࡞ՈʯͰͲͪΒ͔Βؔ࿈ΛҾ͘ʁ
w ؔ࿈Λ੍ݶͯ͠දݱ͞ΕΔࣝΛ૿͢ w Ұํ௨ߦ w ݶఆ w ຊ࣭తͰͳ͍ؔ࿈আڈ
ΤϯςΟςΟ lͦΕΏ͑ɿz·Ͱ͕ΉͪΌͪ͘Ό͍ʜ w ࡶʹݴ͏ͱɺಉҰੑͷࣝผ͕ඞཁͳέʔε͍Ζ͍Ζ͋Δ ͦΕΏ͑ɺࣝผ͕ඞཁͳΒࣝผ͢ΔΛͬͨϞσϧΛ ࡞Δͷͩͱ͍͏Α͏ͳ͜ͱ͕ॻ͔Ε͍ͯΔ w γϯϓϧʹอͬͯࣝผʹूத͢Δ ʢྑ͘Ͱ͖ͨͱײͨ͡ΤϯςΟςΟͷଐੑࣝผʹඞཁͳ
ͷͱΦϒδΣΫτ͚ͩৼΔ͍ࣝผͷͨΊͷͷ ͔ͬͨ͠ʣ
ΦϒδΣΫτ w ԿͰ͋Δ͔Λهड़͢ΔΦϒδΣΫτ ୭Ͱ͋Δ͔ɺͲΕͰ͋Δ͔ؾʹ͠ͳ͍ w Ұաੑͷૢ࡞ͷͨΊʹੜ͞Εͯഁغ͞ΕΔ͜ͱ͋Δ w ෆมʹ͢Δ ʢҰ൪ཻͷখ͍͞ཁૉͰՃܭࢉͱ͍ͬͨzυϝΠϯ ϩδοΫzͷஔ͖ॴʹͳΔʣ
ୈষ ݴޠΛ༻͢Δ w ϞσϧۦಈઃܭΛߦ͍ͬͯ͘தͰɺग़͖ͯͨʹͲ͏ύλʔϯΛద༻͍͔͕ͯ͘͠ඳ͔Ε ͍ͯΔ w ߦΘΕ͍ͯΔҰ࿈ͷαΠΫϧ υϝΠϯΛִ͢Δ ΤϯςΟςΟͱΦϒδΣΫτΛ۠ผ͢Δ ؔ࿈Λઃܭ͢Δ
ूͷڥքͱϦϙδτϦΛબʢ͜Εೖग़ྗͷؔ৺ࣄ৭͕ڧ͍ͷͰॳظͷϞσϧͰؾʹ͠ͳ ͯ͘Α͍͔ͳʣ γφϦΦΛΥʔΫεϧʔ͢Δʢʹͩͯ͠ϞσϦϯάʣ ϦϑΝΫλϦϯά ৽ػೳಋೖ ૯߹ԋशతͳ༰ɻ͜ΕΛΠςϨʔςΟϒʹΔ
ୈ෦ ΑΓਂ͍ಎ͔͏ϦϑΝΫλϦϯά wୈষɿ͠ͳ͔ͳઃܭ
ୈষ ͠ͳ͔ͳઃܭ w ֓೦ͷྠֲ 1 ৽ͨͳཁٻ͕དྷΔͨͼɺͦͷ࣌ͷϞσϧͰ͗ͪ͜ͳ͔͘͠දݱͰ͖ͳ͔ͬ ͨΓɺ͋ͪͪ͜Λมߋ͠ͳ͚ΕରԠͰ͖ͳ͔ͬͨΓ͢Δ෦Λɺදݱ͕γ ϯϓϧʹɺมߋ͕؆୯Ͱ҆શʹͳΔΑ͏ʹϦϑΝΫλϦϯάΛ܁Γฦ͢ɻ݁ Ռͱͯͦ͠ͷ෦͕͠ͳ͔ʹͳ͍ͬͯ͘ɻͦͷաఔͰ֓೦ͷྠֲ͕ݟ͑ͯ
͘Δʢ͋Δ͍ݟ͚ͭʹ͍͘ʣ w มߋ͕Ԡٸॲஔʹ͗͢ͳ͍ͷ͔ɺ҉తͳར༻ऀͷؔ৺ࣄɺߏΛൃݟ ͢Δ͖͔͚ͬʹͳΔͷͳͷ͔Λࣗ͢Δ ʢʮୈ̕ষ҉తͳ֓೦Λ໌ࣔతʹ͢Δʯɺʮୈষৠཹʯʹͭͳ͕ Δɻ୯७ʹॏෳΛল͍ͨΓ͢Δٕज़తͳϦϑΝΫλϦϯάͰͳ͘υϝΠϯ ͷݴ༿ʹͳΓ͏Δ֓೦Λݟ͚ͭग़͢ॏཁͳϓϥΫςΟεɻίʔυ͔ΒͷϑΟʔ υόοΫΛಘΔखஈɻʣ
ୈ෦ ઓུతઃܭ w ୈষɿڥք͚ͮΒΕͨίϯςΩετ w ୈষɿৠཹ
ୈষ ڥք͚ͮΒΕͨίϯςΩετ w ॏෳͨ֓͠೦ɺِಉޠͷݕʢձॏཁʣ w ݱ࣮ੈքͷಉ͡ͷΛҟͳΔଆ໘͔ΒΈͨͱ͖ʹ໊લ͘͠ ׂ͕มΘΔɻ͜ΕΒΛಉ͡Ϟσϧͱͯ͠ѻ͏ͷ͔Ͳ͏͔ݕ౼͢ Δ w ୯ҰϞσϧମܥͷதͰ୯ʹݺͼ͚ΒΕͨΓҟͳΔ֓೦ͱͯ͠ந
ग़Ͱ͖ΔέʔεͱɺଞͷཁૉΛҾ͖࿈ΕͯผͷϞσϧମܥ͕͏ ̍ηοτͰ͖͕͋ΔΑ͏ͳέʔε͕͋Δ w ผͷϞσϧମܥ͕ग़དྷΔέʔε͕ڥք͚ͮΒΕͨίϯςΩετʜ ͜ͷຊͷதͰۤͷࡦͬΆ͍ॻ͔ΕํΛ͍ͯ͠ΔΑ͏ʹݟ͑Δ
ୈ̍̑ষ ৠཹ w υϝΠϯϏδϣϯ໌จͰํ͚ w ڧௐ͞ΕͨίΞʹΑΓίΞυϝΠϯͷ༰Λࢦఆ͢Δ w ύοέʔδϯάͯ͠͠ίΞΛִ͢Δ w ίΞυϝΠϯͷअຐΛ͠ͳ͍Α͏ʹ൚༻αϒυϝΠϯΛ
Γग़͢ w ίΞυϝΠϯͷअຐΛ͠ͳ͍Α͏ʹڽू͞ΕͨϝΧχζϜ ΛΓग़͢