$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's DDD?
Search
takattata
September 20, 2018
Programming
5
910
What's DDD?
iOSDCリジェクトコン2日目
元タイトル「DDD(ドメイン駆動設計)を知っていますか?」
@takattata
takattata
September 20, 2018
Tweet
Share
More Decks by takattata
See All by takattata
Kotlinのコントリビュートに挑戦してみたよ!
takattata
3
300
導入画面を実装したよ
takattata
1
2k
AndroidXに移行しようと`してみた`!
takattata
2
730
Flutterテストことはじめ
takattata
1
820
Flutter
takattata
3
1.6k
ディープリンクを実装した
takattata
1
1.9k
introduce unit testing
takattata
1
580
xUnit Test Patterns の序章
takattata
1
370
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
takattata
0
2.3k
Other Decks in Programming
See All in Programming
Cap'n Webについて
yusukebe
0
120
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
390
開発に寄りそう自動テストの実現
goyoki
1
760
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
認証・認可の基本を学ぼう後編
kouyuume
0
180
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
5
2k
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
認証・認可の基本を学ぼう前編
kouyuume
0
190
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
150
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
BBQ
matthewcrist
89
9.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Tale of Four Properties
chriscoyier
162
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
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!!