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
840
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
Honoとフロントエンドの 型安全性について
yodaka
4
250
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
360
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
130
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
5
3.8k
Immutable ActiveRecord
megane42
0
130
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
270
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
Honoをフロントエンドで使う 3つのやり方
yusukebe
4
2.1k
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
Featured
See All Featured
Music & Morning Musume
bryan
46
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Agile that works and the tools we love
rasmusluckow
328
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Become a Pro
speakerdeck
PRO
26
5.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
540
Rails Girls Zürich Keynote
gr2m
94
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Making Projects Easy
brettharned
116
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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!!