Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DDD Practice in iOS
Search
Masato Oshima
December 15, 2015
Technology
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DDD Practice in iOS
shibuya.swift #2
https://shibuya-swift.connpass.com/event/21979/
Masato Oshima
December 15, 2015
More Decks by Masato Oshima
See All by Masato Oshima
ECSからEKSへの移行への移行事例の紹介
mpon
6
3.9k
APIがある外部サービスはTerraformで管理できますよ
mpon
12
7.5k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
7.3k
AWS Fargateで得する人損する人
mpon
3
6.2k
kubernetes-meetup-4
mpon
2
2.6k
Unidirectional Data Flow in ReSwift
mpon
0
1.6k
Swift compile time is so slow
mpon
3
5.9k
Fight Xcode Project with Golang
mpon
1
3k
iPad Multi Taking
mpon
0
170
Other Decks in Technology
See All in Technology
[General] 개발자로 해외 기업에서 일하기
skydoves
1
310
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
590
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
110
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
540
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
4
1.7k
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
170
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
120
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
160
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
470
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
180
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
420
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
300
Featured
See All Featured
We Are The Robots
honzajavorek
0
440
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Facilitating Awesome Meetings
lara
57
7.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
630
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Site-Speed That Sticks
csswizardry
13
1.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Abbi's Birthday
coloredviolet
4
11k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Transcript
DDD practice in iOS Shibuya.swift #2
None
Masato Oshima github.com/mpon @_mpon ಢݝ๕լ܊ग़ iOS Developer
None
J04։ൃͷઃܭͷ ΈͲ͜Ζ
w'BUͳ7JFX$POUSPMMFS w7JFX$POUSPMMFS͕ͨ͘͞Μͷ ϑϥάΛ࣋ͬͯঢ়ଶཧ wϢχοτςετͳΜͯॻ͚ͬ͜ ͳ͍
w'BUͳ7JFX$POUSPMMFS w7JFX$POUSPMMFS͕ͨ͘͞Μͷ ϑϥάΛ࣋ͬͯঢ়ଶཧ wϢχοτςετͳΜͯॻ͚ͬ͜ ͳ͍ ઍߦͷ7JFX$POUSPMMFSɺ ߹͚ʹ͋;Εͨ#BTF7JFX$POUSPMMFS
w'BUͳ7JFX$POUSPMMFS w7JFX$POUSPMMFS͕ͨ͘͞Μͷ ϑϥάΛ࣋ͬͯঢ়ଶཧ wϢχοτςετͳΜͯॻ͚ͬ͜ ͳ͍ JT'JSTU-PBEFE JT3FRVFTUJOHͳͲͳͲʜ
w'BUͳ7JFX$POUSPMMFS w7JFX$POUSPMMFS͕ͨ͘͞Μͷ ϑϥάΛ࣋ͬͯঢ়ଶཧ wϢχοτςετͳΜͯॻ͚ͬ͜ ͳ͍ ςετ͢Δʹ6*7JFX$POUSPMMFS͕ඞཁɺ ωοτϫʔΫ௨৴ඞཁɾɾɾ
None
None
Swift 1.2
%%%υϝΠϯۦಈઃܭ
%%%υϝΠϯۦಈઃܭ
None
wը໘ͷඳը wϢʔβʔͷΠϕϯτ Λड͚Δ
w࣮ߦ͍ͨ͠ॲཧΛߦ ͏ wۀϩδοΫ wσʔλఆٛ
wσʔλ௨৴ wӬଓԽ
ॲཧΛߦ͏Ϋϥε
֤छσʔλ ௨৴ͨ͠σʔλͳͲ 6TFSϞσϧͳͲ
ϢχʔΫੑͷͳ͍σʔλ ྫɿ$(3FDUɺ3BOHFͳͲ 4USVDUͰද͞ΕΔ͜ͱ͕ଟ͍
None
Ϣχοτςετ Ͳ͏ॻ͖·͔͢ʁ
wྫɿϘλϯΛԡͨ࣌͠ʹԻ͕࠶ ੜ͞ΕΔ͜ͱ wϘλϯʹͲ͏ΞΫηε͢ΔʁΘ ͟Θ͟QVCMJDʹ͢ΔʁݏͰ͢Α Ͷʁ
ؔ৺͝ͱͷ
None
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS
7JFX$POUSPMMFS
7JFX$POUSPMMFS VTF$BTFͷॲཧΛݺ Ϳ͚ͩ
6TF$BTF
6TF$BTF 7JFXʹ·ͭΘΔͷ ग़ͯ͜ͳ͍
6TF$BTF4QFD
6TF$BTF4QFD 6TF$BTFͷςετ͕ ॻ͚Δʂ
7JFX$POUSPMMFS ͱ 6TF$BTFͷଓ
None
ԡͨ͠Β ࠶ੜϘλϯͷݟͨʹ ͳͬͯ΄͘͠ͳ͍Ͱ͔͢ʁ
Ͳ͏ॻ͖·͔͢ʁ
wྫɿϘλϯΛԡͨ࣌͠ʹϘλϯͷΞΠ ίϯ͕Ұ࣌ఀࢭϚʔΫͳΒɺ࠶ੜΞΠ ίϯʹΓସ͑Δɻ wJG CVUUPOJNBHFQBVTF*NBHF
wྫɿϘλϯΛԡͨ࣌͠ʹϘλϯͷΞ Πίϯ͕Ұ࣌ఀࢭϚʔΫͳΒɺ࠶ੜ ΞΠίϯʹΓସ͑Δɻ w❌ը໘ଆʹঢ়ଶΛ࣋ͬͯ͠·͏ w❌Իͷ࠶ੜঢ়ଶͱ৯͍ҧ͏Մೳ ੑ͕͋Δ
wྫɿ6TF$BTFʹ7JFX$POUSPMMFS ͷࢀরΛ࣋ͨͤΔ wVTF$BTFTPNF7JFX$POUSPMMFS
wྫɿ6TF$BTFʹ7JFX$POUSPMMFSͷ ࢀরΛ࣋ͨͤΔ w❌ରͰີ݁߹ͳͷͰ͍·Θͤͳ͍ w❌ςετͷࡍʹ7JFX$POUSPMMFS͕ඞཁ
EFMFHBUF
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS ԻָΛ࠶ੜ͢Δɻ
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS ࠶ੜ͕ྃͨ͠ͷͰ 7JFX$POUSPMMFSEFMFHBUF௨
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS ࠶ੜ͕ྃͨ͠EFMFHBUFΠϕϯτʹ ϘλϯΛҰ࣌ఀࢭͷΞΠίϯʹ͢Δ ͱॻ͍͓ͯ͘
͜ΕͬͯԿ͔ʹ ࣅͯΔ
None
6*7JFX$POUSPMMFS%FMFHBUF ը໘͕ಡΈࠐ·Εͨ࣌ɺ ը໘͕දࣔ͞ΕΑ͏ͱͨ࣌͠ɺ ը໘͕දࣔ͠ऴΘͬͨ͋ͱ
ڥԻ࠶ੜϘλϯ ಄ग़͠Ϙλϯ ࠶ੜϘλϯ ఀࢭϘλϯ ΩϟϥΫλʔͷը૾ ڥԻΛ࠶ੜ͢Δػೳ ԻָΛ಄ग़͢͠Δػೳ ԻָΛ࠶ੜ͢Δػೳ ԻָΛఀࢭ͢Δػೳ ΩϟϥΫλʔϞσϧ
6TF$BTF 7JFX$POUSPMMFS ը໘ͷදࣔΛߋ৽ ॲཧΛ࣮ߦͯ͠௨
4XJGUͰͷ EFMFHBUFύλʔϯͷ σϝϦοτ
0QUJPOBMͳEFMFHBUFϝιου ͕༻ҙͰ͖ͳ͍
!PCKDम০ࢠ
!PCKDम০ࢠ 1VSF4XJGU͡Όͳ͘ͳͬͪΌ͏ɻ (FOFSJDTɺ4USVDUɺ&OVN͕͑ ͳ͍ɾɾ
Swift 2.0!!!
QSPUPDPMFYUFOTJPO
QSPUPDPMFYUFOTJPO σϑΥϧτͰԿ͠ͳ͍ ˣ ࣮ͯ͠͠ͳ͍͍ͯ͘ ˣ 0QUJPOBM
EFMFHBUF ͍͘͢ͳͬͨʁ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ