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
What's DDD?
Search
takattata
September 20, 2018
Programming
920
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
What's DDD?
iOSDCリジェクトコン2日目
元タイトル「DDD(ドメイン駆動設計)を知っていますか?」
@takattata
takattata
September 20, 2018
More Decks by takattata
See All by takattata
Kotlinのコントリビュートに挑戦してみたよ!
takattata
3
310
導入画面を実装したよ
takattata
1
2.1k
AndroidXに移行しようと`してみた`!
takattata
2
740
Flutterテストことはじめ
takattata
1
870
Flutter
takattata
3
1.7k
ディープリンクを実装した
takattata
1
1.9k
introduce unit testing
takattata
1
600
xUnit Test Patterns の序章
takattata
1
400
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
takattata
0
2.4k
Other Decks in Programming
See All in Programming
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
150
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
FDEが実現するAI駆動経営の現在地
gonta
2
250
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
160
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
740
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
6k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.5k
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
180
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
190
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Crafting Experiences
bethany
1
240
Are puppies a ranking factor?
jonoalderson
1
3.7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
450
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Navigating Weather and Climate Data
rabernat
0
440
Accessibility Awareness
sabderemane
1
170
Leo the Paperboy
mayatellez
8
2.1k
Paper Plane
katiecoart
PRO
2
52k
How to make the Groovebox
asonas
2
2.3k
Transcript
1 Takasy @takattata iOSDCrc02 WHAT’S DDD?
2 ࣍ ࣍ 1. ͜ͷൃදͷඪ 2. DDDͷརʁ 3. DDDͲ͏͍͏ͷʁ 4.
࣍ͷҰา
3 ʢͲΜͳൃදΛ͢ΔͭΓʁʣ ͜ͷൃදͷඪ
4 ͜ͷൃදͷඪ DDD
5 ͜ͷൃදͷඪ DDD ։ൃख๏ʁ ϨΠϠʔυΞʔΩςΫνϟʁ େن։ൃͰ͏ʁ ͦ͠͏ͩΑͳʁ
6 ͜ͷൃදͷඪ DDD Domain Driven Design ʮυϝΠϯۦಈઃܭʯ ް͞3cm
7 ͜ͷൃදͷඪ DDD Domain Driven Design ʮυϝΠϯۦಈઃܭʯ ް͞3cm શମ૾Λͬ͘͟ΓͰѲ͍ͯ͠ͳ͍ͱ… ࠳ંUP↑(ଟ)
8 ͜ͷൃදͷඪ ඪ ;Θͬͱશମ૾ΛͬͯΒ͏ Ұ൪ݴ͍͍ͨ͜ͱɿ”ڵຯ࣋ͬͨΒੋඇҰॹʹษڧ͍͖ͯ͠·ͤΜ͔ʂ” શମ૾ΛΔ औΓΜͰΈΔ ͔ͬ͠ΓֶͿ ;Θͬͱ
9 ʢΠϯϓοτ͢Δલʹ͞ɺͦͦඞཁͳͷʁઃܭͰ͠ΐʁʣ DDDͷརʁ
10 %%%ͷརʁ “։ൃऀͱඇ։ൃऀͷίϛϡχέʔγϣϯ͕ શʹεϜʔζʹͳΔ”
11 • ઐಉ࢜ؒͰͷ༁ͷίετ͕ͳ͍ • ࣝͷౝ͕Ͱ͖ͳ͍ • ઃܭ͕ίʔυͰ͋Γɺίʔυ͕ઃܭͰ͋Δ %%%ͷརʁ Ͳ͏͍͏͜ͱʁ
12 ৽͘͠ೖͬͨΤϯδχΞ ※΄͔ΤϯδχΞશ໓த ಉ͡νʔϜͷσΟϨΫλʔ ʁ ʁ ʁ ͜͏͍͏ڍಈ ͷҝͰ͢ %%%ͷརʁ
ͳͥ͜ͷ࣮ʹʁ
13 DDDͲ͏͍͏ͷʁ ʢ;ΉɺཧͩͶɻͲΜͳ͜ͱΛͨ͠Βͦ͏ͳΔͬͯʁʣ
14 %%%Ͳ͏͍͏ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ υϝΠϯΛөͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ
15 %%%Ͳ͏͍͏ͷʁ WHAT’S υϝΠϯʁ ιϑτΣΞΛద༻͢ΔରྖҬ ྫ. ձܭιϑτͳΒʮձܭۀʯ
16 %%%Ͳ͏͍͏ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ υϝΠϯΛөͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ
17 %%%Ͳ͏͍͏ͷʁ ࠓͷൢചܗଶ͕૿͑ͨ Γ͢Δʁ ͜ͷίʔυͷߏͲ ͏͍͏ҙਤ͕͋Δʁ WHAT’S υϝΠϯΤΩεύʔτʁ
18 %%%Ͳ͏͍͏ͷʁ ࠓͷൢചܗଶ͕૿͑ͨ Γ͢Δʁ ͜ͷίʔυͷߏͲ ͏͍͏ҙਤ͕͋Δʁ WHAT’S υϝΠϯΤΩεύʔτʁ →σΟϨΫλʔ →ΤϯδχΞ
ࣗΑΓৄ͍͠ਓʹฉ͘
19 %%%Ͳ͏͍͏ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ υϝΠϯΛөͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ
20 %%%Ͳ͏͍͏ͷʁ WHAT’S υϝΠϯϞσϧʁ υϝΠϯΛదʹөͨ͠ίʔυʹམͱ͠ࠐΉલͷϞσϧ ಉ͡ͷΛࢥ͍ු͔ ಉ͡ղऍΛ͢Δ
21 %%%Ͳ͏͍͏ͷʁ ఆٛ ։ൃऀͱυϝΠϯΤΩεύʔτ͕ڠྗͯ͠ɺ υϝΠϯΛөͨ͠ϞσϧʢυϝΠϯϞσϧʣΛ࡞Γ্͛Δ
22 %%%Ͳ͏͍͏ͷʁ ಄ͷମݧஊΑΓ ϓϦϯτج൫(PCB)ͷιϑτΣΞπʔϧΛઃܭ͢Δ͜ͱʹ PCBઃܭऀ ΤϰΝϯεࢯ ߟ͍͑ͯΔ ιϑτΣΞ ඈ༂త্ʹͭͳ͕Βͳ͍ ˠ൴Βͷཁٻʹ͍ͭͯ͠߹͓͏
23 %%%Ͳ͏͍͏ͷʁ ༻ޠͷෆҰக͍͋·͍͞ ݟղͷ૬ҧΛ Ұॹʹղܾ͍ͯ͘͠
24 %%%Ͳ͏͍͏ͷʁ ٞΛਐΊ ϞσϧΛվྑͤ͠͞Δ
25 %%%Ͳ͏͍͏ͷʁ ։ൃऀ υϝΠϯ ΤΩεύʔτ υϝΠϯ ʹର͢Δࣝ ߟ͑ ର ৠཹ
υϝΠϯϞσϧ ࣮ ઃܭ දݱ ܁Γฦ͢
26 %%%Ͳ͏͍͏ͷʁ ։ൃऀ υϝΠϯ ΤΩεύʔτ υϝΠϯ ʹର͢Δࣝ ߟ͑ ର ৠཹ
υϝΠϯϞσϧ ࣮ ઃܭ දݱ ܁Γฦ͢ ઃܭ͕ίʔυͰ͋Γɺίʔυ͕ઃܭͰ͋Δ
27 %%%Ͳ͏͍͏ͷʁ ։ൃऀ υϝΠϯ ΤΩεύʔτ υϝΠϯ ʹର͢Δࣝ ߟ͑ ର ৠཹ
υϝΠϯϞσϧ ࣮ ઃܭ දݱ ܁Γฦ͢ ઓུతઃܭ
28 %%%Ͳ͏͍͏ͷʁ ։ൃऀ υϝΠϯ ΤΩεύʔτ υϝΠϯ ʹର͢Δࣝ ߟ͑ ର ৠཹ
υϝΠϯϞσϧ ࣮ ઃܭ දݱ ܁Γฦ͢ ઓུతઃܭ ઓज़తઃܭ
29 %%%Ͳ͏͍͏ͷʁ ઓུతઃܭ ϢϏΩλεݴޠ ڥք͚ͮΒΕͨίϯςΩετ ίϯςΩετϚοϓ … ڥք͚ͮΒΕͨίϯςΩετ υϝΠϯϞσϧ
30 ࣍ͷҰา ʢࣗͰֶͼ͍ͨΜ͚ͩͲɺͲ͏ֶͿͱ͍͍ʁʣ
31 ͦͷޙͲ͏͢Ε͍͍ʁ ࢀߟจݙ • ॳΊͷҰาʹ͓͢͢Ίɿ ʮΘ͔ΔʂυϝΠϯۦಈઃܭʯ • શମ૾Λ௫Ήࡍʹ͓͢͢Ίɿ ʮHow to
apply DDD to Android Application Developmentʯ ʮAll you need is isolating the domainʯ • งғؾ௫Έ͍͢ಈը(ӳޠ)ɿ ʮDDD Strategic Design in under 15minutesʯ • ඞಡॻ2
32 ͦͷޙͲ͏͢Ε͍͍ʁ ॳΊͷҰาʹ͓͢͢Ί https://booth.pm/ja/items/392260 ిࢠॻ੶: ¥1000 A5૬Ͱ60p
33 ͦͷޙͲ͏͢Ε͍͍ʁ ಈըɿhttps://academy.realm.io/jp/ posts/droidkaigi17-how-to-apply-ddd- to-android-application-development/ http://y-anz-m.blogspot.com/2017/03/ droidkaigi-2017_9.html શମ૾Λ௫Ήࡍʹ͓͢͢Ί
34 ͦͷޙͲ͏͢Ε͍͍ʁ શମ૾Λ௫Ήࡍʹ͓͢͢Ί ಈըɿhttps://www.youtube.com/ watch?v=glasB4fF15Q http://y-anz-m.blogspot.com/2018/02/ android.html
35 ͦͷޙͲ͏͢Ε͍͍ʁ งғؾ௫Έ͍͢ಈը https://www.youtube.com/watch? v=Evers5npkmE&index=2&list=LLIgL_CMaapXHyn37_qsEJHg&t=0s
36 ͦͷޙͲ͏͢Ε͍͍ʁ ඞಡॻ ిࢠॻ੶ɿhttp://amzn.asia/d/1OQbl4z ཧຊɿhttp://amzn.asia/d/aFG8bI2
37 ͦͷޙͲ͏͢Ε͍͍ʁ ిࢠॻ੶ɿhttp://amzn.asia/d/7x1z6zb ཧຊɿhttp://amzn.asia/d/bMBhK3m ඞಡॻ
38 ͜ͷൃදͷඪ શମ૾ΛΔ औΓΜͰΈΔ ͔ͬ͠ΓֶͿ ;Θͬͱ
39 Let’s study DDD!!