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
420
ドメイン駆動設計 第一部まとめ
エリックエヴァンスのDDD本の第一部のまとめ(感想)
Go Tanaka
September 08, 2016
Tweet
Share
More Decks by Go Tanaka
See All by Go Tanaka
事業を理解するために勉強したこと
tan_go238
0
1.3k
RDRAと業務と私
tan_go238
6
5.2k
エンジニアのための情報設計入門
tan_go238
10
7.8k
JVM in Action
tan_go238
1
640
Ordinary Object Pointer in JVM
tan_go238
5
6k
フロントエンドの基礎知識
tan_go238
28
10k
Reactive Microservices Architecture
tan_go238
0
250
たぶん便利なパターンマッチ
tan_go238
0
310
Other Decks in Programming
See All in Programming
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
300
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Navigating Dependency Injection with Metro
zacsweers
3
3.7k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
Reading Rails 1.0 Source Code
okuramasafumi
0
260
私の後悔をAWS DMSで解決した話
hiramax
4
210
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
650
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.6k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
130
Featured
See All Featured
Faster Mobile Websites
deanohume
309
31k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Writing Fast Ruby
sferik
628
62k
Designing Experiences People Love
moore
142
24k
A Tale of Four Properties
chriscoyier
160
23k
Gamification - CAS2011
davidbonilla
81
5.4k
GitHub's CSS Performance
jonrohan
1032
460k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
RailsConf 2023
tenderlove
30
1.2k
Into the Great Unknown - MozCon
thekraken
40
2k
Transcript
υϝΠϯۦಈઃܭ ୈ1෦·ͱΊ
ϞσϧͱԿ͔ • ໘ͷΛղܾ͢Δ্Ͱؔ࿈͢Δଆ໘ΛநԽ͠ɺɹ ͦΕҎ֎ͷཁૉΛແࢹͨ͠ݱ࣮ʹର͢Δͻͱͭͷղऍ • ιϑτΣΞͱ • ϢʔβͷԿΒ͔ͷ׆ಈؔ৺ࣄͱ͕ؔ͋Δ • Ϣʔβ͕ϓϩάϥϜΛద༻͢ΔྖҬ͕ιϑτΣΞ
ͷυϝΠϯ
ϞσϧͱԿ͔ ݱ࣮ੈք ׆ಈɾؔ৺ࣄ ׆ಈɾؔ৺ࣄ Ϟσϧ Ϟσϧ ؆ུԽɾநԽ ιϑτΣΞ ͷྖҬ
ϞσϦϯά • υϝΠϯϞσϦϯάͱϞσϧΛͰ͖Δ͚ͩ ʮ࣮ࣸతʹʯ࡞͢Δ͜ͱͰͳ͍ • ͋Δతʹैͬͯݱ࣮ͷ֓ཁΛදݱ͢Δ • ͜ͷ࡞ۀΛϞσϦϯάͱݺͿ
ͲͷΑ͏ʹϞσϧΛબ͢Δ͔ 1. Ϟσϧͱઃܭͷ֩৺͕૬ޓʹؔ࿈͠߹͏͜ͱ 2. νʔϜϝϯόશһ͕༻͢Δڞ௨ͷݴޠج൫Ͱ ͋Δ͜ͱ 3. ৠཹ͞ΕͨࣝͰ͋Δ͜ͱ
Ͳ͔͜Β࢝ΊΔ͔ʁ • ࣝΛ͔Έࡅ͘ͱ͜Ζ͔Β ”ΫϥΠΞϯτυϝΠϯΤΩεύʔτͱҰॹʹ͠߹͍ͳ͕Β ΦϒδΣΫτͷ૬ޓ࡞༻ਤΛඳ͍ͨΓͨ͠” ”༻ޠ๏ʹ͋ͬͨෆҰக͍͋·͍͞ɺٕज़తͳݟղͷ૬ҧΛҰ ॹʹͳͬͯղֶܾ͠ΜͰ͍ͬͨ” “ͦͷ݁ՌɺࣄΛΑΓݫີʹໃ६ͳ͘આ໌Ͱ͖ΔΑ͏ʹͳͬͨ"
ܧଓతֶश • ܧଓతֶश ෆՄܽ • υϝΠϯϞσϧͷεΩϧ • ٕज़తͳࣝͷ্ • ͍·औΓΜͰ͍Δ۩ମతͳυϝΠϯʹ͍ͭ
ֶͯश͢Δ
ϢϏΩλεݴޠ • ڞ௨ݴޠͷͳ͍ϓϩδΣΫτ • ʑͷٞͰ͏༻ޠ๏͕ɺίʔυʹຒΊࠐ·Ε Δ༻ޠ๏͔ΒΓ͞ΕΔ • ௨༁͕ඞཁʹͳΔ • Ϟσϧͷ֓೦Λࠞཚͤͯ͞͠·͏
• ίʔυͷഁյతͳϦϑΝΫλϦϯάʹͭͳ͕Δ
ϢϏΩλεݴޠ • ։ൃऀͷؒͰ༻͞Εͳ͚ΕͳΒͳ͍ • ݴޠΛ͏্Ͱ͕͋ΕɺΘΓͷදݱΛ༻͍ ࣮ͯݧ͢Δ • ݴޠʹର͢ΔมߋɺυϝΠϯϞσϧʹର͢Δมߋ • ίʔυͷΫϥεϝιουͷ໊લΛม͑ͨΓ;
Δ·͍Λมߋͨ͠Γ͢Δ͜ͱʹͭͳ͕Δ
υΩϡϝϯτͱਤ • ϞσϧਤͰͳ͍ • ਤ͕දݱ͍ͯ͠Δͷߟ͑ํͷࠎ֨ • ઃܭʹؔ͢Δຊ࣭తͳৄࡉɺίʔυʹ͓͍ͯͱΒ͑ΒΕΔ • υΩϡϝϯτίʔυձͷදݱΛิΘͳ͚Ε͍͚ͳ͍ •
ίʔυͰදݱͰ͖͍ͯΔͷΛυΩϡϝϯτͰ͢Δ͖Ͱ ͳ͍ • υΩϡϝϯτৗʹ࠷৽ͰϓϩδΣΫτͷ׆ಈʹऔΓࠐ·Ε͍ͯͳ ͚ΕͳΒͳ͍ʢϓϩδΣΫτͷ׆ಈͷҰ෦Ͱ͋Δ͜ͱʣ
Ϟσϧͱ࣮Λ݁ͼ͚ͭΔ • Ϟσϧۦಈઃܭ • ڧݻͳϢϏΩλεݴޠΛࢧ͑Δ͜ͱ • υϝΠϯͱ࣮྆ํͷతʹ͑Δ୯ҰͷϞσϧΛཁٻ͢Δ͜ͱ • ΦϒδΣΫτࢦͷΑ͏ͳϞσϦϯάύϥμΠϜΛࢧ͑ΔιϑτΣ Ξ։ൃͷͨΊͷπʔϧͱݴޠ͕ඞཁ
• ίʔυΛ࡞͢Δਓ͕ϞσϧʹΛײ͍ͯ͡ͳ͍߹ɺΞϓϦ έʔγϣϯͷͨΊʹϞσϧΛػೳͤ͞Δํ๏Λཧղ͍ͯ͠ͳ͍߹ɺ ͦͷϞσϧιϑτΣΞͱແؔʹͳͬͯ͠·͏ɻ
ࠎ֨ΛΈͤΔ • Ϟσϧ͕໌Β͔ʹͳΕ • ϢʔβιϑτΣΞͷજࡏೳྗʹͬͱ৮ΕΒ ΕΔΑ͏ʹͳΓ • ;Δ·͍Ұ؏ͨ͠༧ଌՄೳͳͷʹͳΔ ͪΌΜͱϞσϧ͕ઃܭʹөͰ͖͍ͯΕɺϢʔβ͕ ιϑτΣΞ෦ʹ͍ͭͯ͋Δఔ༧ଌͰ͖Δͷ
ʹͳΔ
ୈ1෦·ͱΊ • ϝϦοτ • ༻ޠͷਖ਼֬ͳهड़ཧղ͕ϝϯόʔؒͰͰ͖ͦ͏ • ͜ΕʹΑΓ࡞ۀޙͷ༷ࠩ͠ͷݟམͱ͠ॳظஈ֊Ͱݟ͚ͭ͘͢ͳΓͦ͏ • σϝϦοτ •
ϞσϧͷϝϯςφϯείετͦΕͳΓʹߴͦ͏ • ϞσϧΛৠཹ͢ΔίετʢݴޠͷมߋɺυΩϡϝϯτͷมߋɺίʔυͷมߋʣ • ϞσϧΛมߋͨ͠ΒϦϑΝΫλϦϯάΛߦΘͳ͚Ε͍͚ͳ͍
͓ΘΓ