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
5
850
What's DDD?
iOSDCリジェクトコン2日目
元タイトル「DDD(ドメイン駆動設計)を知っていますか?」
@takattata
takattata
September 20, 2018
Tweet
Share
More Decks by takattata
See All by takattata
Kotlinのコントリビュートに挑戦してみたよ!
takattata
3
280
導入画面を実装したよ
takattata
1
1.9k
AndroidXに移行しようと`してみた`!
takattata
2
700
Flutterテストことはじめ
takattata
1
780
Flutter
takattata
3
1.6k
ディープリンクを実装した
takattata
1
1.8k
introduce unit testing
takattata
1
550
xUnit Test Patterns の序章
takattata
1
330
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
takattata
0
2.2k
Other Decks in Programming
See All in Programming
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.8k
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
140
CloudNativePGを布教したい
nnaka2992
0
120
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
230
AWS Step Functions は CDK で書こう!
konokenj
4
840
Jakarta EE meets AI
ivargrimstad
0
640
GoとPHPのインターフェイスの違い
shimabox
2
210
Rubyと自由とAIと
yotii23
6
1.9k
Learning Kotlin with detekt
inouehi
1
190
SwiftUI Viewの責務分離
elmetal
PRO
2
280
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
320
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Typedesign – Prime Four
hannesfritz
41
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Done Done
chrislema
182
16k
Automating Front-end Workflow
addyosmani
1369
200k
Visualization
eitanlees
146
15k
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!!