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
ドメイン駆動設計 第一部まとめ
Search
Go Tanaka
September 08, 2016
Programming
1
390
ドメイン駆動設計 第一部まとめ
エリックエヴァンスのDDD本の第一部のまとめ(感想)
Go Tanaka
September 08, 2016
Tweet
Share
More Decks by Go Tanaka
See All by Go Tanaka
事業を理解するために勉強したこと
tan_go238
0
1.2k
RDRAと業務と私
tan_go238
6
5k
エンジニアのための情報設計入門
tan_go238
10
7.8k
JVM in Action
tan_go238
1
610
Ordinary Object Pointer in JVM
tan_go238
5
5.9k
フロントエンドの基礎知識
tan_go238
28
9.9k
Reactive Microservices Architecture
tan_go238
0
230
たぶん便利なパターンマッチ
tan_go238
0
290
Other Decks in Programming
See All in Programming
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
250
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
160
事業KPIを基に価値の解像度を上げる
nealle
0
160
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.4k
AI Coding Agents Enablement in TypeScript
yukukotani
5
840
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
150
2025年のz-index設計を考える
tak_dcxi
13
5k
知識0からカンファレンスやってみたらこうなった!
syossan27
5
300
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
140
クラス設計の手順
akikogoto
0
130
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
170
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Done Done
chrislema
184
16k
Facilitating Awesome Meetings
lara
54
6.4k
Optimizing for Happiness
mojombo
378
70k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Adaptive Systems
keathley
41
2.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
We Have a Design System, Now What?
morganepeng
52
7.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Docker and Python
trallard
44
3.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Embracing the Ebb and Flow
colly
85
4.7k
Transcript
υϝΠϯۦಈઃܭ ୈ1෦·ͱΊ
ϞσϧͱԿ͔ • ໘ͷΛղܾ͢Δ্Ͱؔ࿈͢Δଆ໘ΛநԽ͠ɺɹ ͦΕҎ֎ͷཁૉΛແࢹͨ͠ݱ࣮ʹର͢Δͻͱͭͷղऍ • ιϑτΣΞͱ • ϢʔβͷԿΒ͔ͷ׆ಈؔ৺ࣄͱ͕ؔ͋Δ • Ϣʔβ͕ϓϩάϥϜΛద༻͢ΔྖҬ͕ιϑτΣΞ
ͷυϝΠϯ
ϞσϧͱԿ͔ ݱ࣮ੈք ׆ಈɾؔ৺ࣄ ׆ಈɾؔ৺ࣄ Ϟσϧ Ϟσϧ ؆ུԽɾநԽ ιϑτΣΞ ͷྖҬ
ϞσϦϯά • υϝΠϯϞσϦϯάͱϞσϧΛͰ͖Δ͚ͩ ʮ࣮ࣸతʹʯ࡞͢Δ͜ͱͰͳ͍ • ͋Δతʹैͬͯݱ࣮ͷ֓ཁΛදݱ͢Δ • ͜ͷ࡞ۀΛϞσϦϯάͱݺͿ
ͲͷΑ͏ʹϞσϧΛબ͢Δ͔ 1. Ϟσϧͱઃܭͷ֩৺͕૬ޓʹؔ࿈͠߹͏͜ͱ 2. νʔϜϝϯόશһ͕༻͢Δڞ௨ͷݴޠج൫Ͱ ͋Δ͜ͱ 3. ৠཹ͞ΕͨࣝͰ͋Δ͜ͱ
Ͳ͔͜Β࢝ΊΔ͔ʁ • ࣝΛ͔Έࡅ͘ͱ͜Ζ͔Β ”ΫϥΠΞϯτυϝΠϯΤΩεύʔτͱҰॹʹ͠߹͍ͳ͕Β ΦϒδΣΫτͷ૬ޓ࡞༻ਤΛඳ͍ͨΓͨ͠” ”༻ޠ๏ʹ͋ͬͨෆҰக͍͋·͍͞ɺٕज़తͳݟղͷ૬ҧΛҰ ॹʹͳͬͯղֶܾ͠ΜͰ͍ͬͨ” “ͦͷ݁ՌɺࣄΛΑΓݫີʹໃ६ͳ͘આ໌Ͱ͖ΔΑ͏ʹͳͬͨ"
ܧଓతֶश • ܧଓతֶश ෆՄܽ • υϝΠϯϞσϧͷεΩϧ • ٕज़తͳࣝͷ্ • ͍·औΓΜͰ͍Δ۩ମతͳυϝΠϯʹ͍ͭ
ֶͯश͢Δ
ϢϏΩλεݴޠ • ڞ௨ݴޠͷͳ͍ϓϩδΣΫτ • ʑͷٞͰ͏༻ޠ๏͕ɺίʔυʹຒΊࠐ·Ε Δ༻ޠ๏͔ΒΓ͞ΕΔ • ௨༁͕ඞཁʹͳΔ • Ϟσϧͷ֓೦Λࠞཚͤͯ͞͠·͏
• ίʔυͷഁյతͳϦϑΝΫλϦϯάʹͭͳ͕Δ
ϢϏΩλεݴޠ • ։ൃऀͷؒͰ༻͞Εͳ͚ΕͳΒͳ͍ • ݴޠΛ͏্Ͱ͕͋ΕɺΘΓͷදݱΛ༻͍ ࣮ͯݧ͢Δ • ݴޠʹର͢ΔมߋɺυϝΠϯϞσϧʹର͢Δมߋ • ίʔυͷΫϥεϝιουͷ໊લΛม͑ͨΓ;
Δ·͍Λมߋͨ͠Γ͢Δ͜ͱʹͭͳ͕Δ
υΩϡϝϯτͱਤ • ϞσϧਤͰͳ͍ • ਤ͕දݱ͍ͯ͠Δͷߟ͑ํͷࠎ֨ • ઃܭʹؔ͢Δຊ࣭తͳৄࡉɺίʔυʹ͓͍ͯͱΒ͑ΒΕΔ • υΩϡϝϯτίʔυձͷදݱΛิΘͳ͚Ε͍͚ͳ͍ •
ίʔυͰදݱͰ͖͍ͯΔͷΛυΩϡϝϯτͰ͢Δ͖Ͱ ͳ͍ • υΩϡϝϯτৗʹ࠷৽ͰϓϩδΣΫτͷ׆ಈʹऔΓࠐ·Ε͍ͯͳ ͚ΕͳΒͳ͍ʢϓϩδΣΫτͷ׆ಈͷҰ෦Ͱ͋Δ͜ͱʣ
Ϟσϧͱ࣮Λ݁ͼ͚ͭΔ • Ϟσϧۦಈઃܭ • ڧݻͳϢϏΩλεݴޠΛࢧ͑Δ͜ͱ • υϝΠϯͱ࣮྆ํͷతʹ͑Δ୯ҰͷϞσϧΛཁٻ͢Δ͜ͱ • ΦϒδΣΫτࢦͷΑ͏ͳϞσϦϯάύϥμΠϜΛࢧ͑ΔιϑτΣ Ξ։ൃͷͨΊͷπʔϧͱݴޠ͕ඞཁ
• ίʔυΛ࡞͢Δਓ͕ϞσϧʹΛײ͍ͯ͡ͳ͍߹ɺΞϓϦ έʔγϣϯͷͨΊʹϞσϧΛػೳͤ͞Δํ๏Λཧղ͍ͯ͠ͳ͍߹ɺ ͦͷϞσϧιϑτΣΞͱແؔʹͳͬͯ͠·͏ɻ
ࠎ֨ΛΈͤΔ • Ϟσϧ͕໌Β͔ʹͳΕ • ϢʔβιϑτΣΞͷજࡏೳྗʹͬͱ৮ΕΒ ΕΔΑ͏ʹͳΓ • ;Δ·͍Ұ؏ͨ͠༧ଌՄೳͳͷʹͳΔ ͪΌΜͱϞσϧ͕ઃܭʹөͰ͖͍ͯΕɺϢʔβ͕ ιϑτΣΞ෦ʹ͍ͭͯ͋Δఔ༧ଌͰ͖Δͷ
ʹͳΔ
ୈ1෦·ͱΊ • ϝϦοτ • ༻ޠͷਖ਼֬ͳهड़ཧղ͕ϝϯόʔؒͰͰ͖ͦ͏ • ͜ΕʹΑΓ࡞ۀޙͷ༷ࠩ͠ͷݟམͱ͠ॳظஈ֊Ͱݟ͚ͭ͘͢ͳΓͦ͏ • σϝϦοτ •
ϞσϧͷϝϯςφϯείετͦΕͳΓʹߴͦ͏ • ϞσϧΛৠཹ͢ΔίετʢݴޠͷมߋɺυΩϡϝϯτͷมߋɺίʔυͷมߋʣ • ϞσϧΛมߋͨ͠ΒϦϑΝΫλϦϯάΛߦΘͳ͚Ε͍͚ͳ͍
͓ΘΓ