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
830
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
690
Flutterテストことはじめ
takattata
1
750
Flutter
takattata
3
1.5k
ディープリンクを実装した
takattata
1
1.8k
introduce unit testing
takattata
1
540
xUnit Test Patterns の序章
takattata
1
330
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
takattata
0
2.1k
Other Decks in Programming
See All in Programming
React への依存を最小にするフロントエンド設計
takonda
18
4.8k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.8k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
200
我々のデザインシステムは Chakra v3 にアップデートします
shunya078
2
140
Remix on Hono on Cloudflare Workers
yusukebe
1
310
Jakarta EE meets AI
ivargrimstad
0
350
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
9
920
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
650
Jakarta EE meets AI
ivargrimstad
0
270
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
290
subpath importsで始めるモック生活
10tera
0
330
Missing parts when designing and implementing Android UI
ericksli
0
200
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
BBQ
matthewcrist
85
9.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Happy Clients
brianwarren
98
6.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Raft: Consensus for Rubyists
vanstee
136
6.6k
GraphQLとの向き合い方2022年版
quramy
43
13k
Six Lessons from altMBA
skipperchong
27
3.5k
Fireside Chat
paigeccino
34
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
We Have a Design System, Now What?
morganepeng
50
7.2k
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!!