$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DDD Practice in iOS
Search
Masato Oshima
December 15, 2015
Technology
0
450
DDD Practice in iOS
shibuya.swift #2
https://shibuya-swift.connpass.com/event/21979/
Masato Oshima
December 15, 2015
Tweet
Share
More Decks by Masato Oshima
See All by Masato Oshima
ECSからEKSへの移行への移行事例の紹介
mpon
6
3.7k
APIがある外部サービスはTerraformで管理できますよ
mpon
12
7.2k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
6.7k
AWS Fargateで得する人損する人
mpon
3
6.1k
kubernetes-meetup-4
mpon
2
2.5k
Unidirectional Data Flow in ReSwift
mpon
0
1.6k
Swift compile time is so slow
mpon
3
5.6k
Fight Xcode Project with Golang
mpon
1
2.9k
iPad Multi Taking
mpon
0
110
Other Decks in Technology
See All in Technology
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
16
5.9k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
15
9.4k
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
600
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
550
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
9
1.9k
Claude Code はじめてガイド -1時間で学べるAI駆動開発の基本と実践-
oikon48
42
25k
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
440
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
Symfony AI in Action
el_stoffel
2
370
オープンデータの内製化から分かったGISデータを巡る行政の課題
naokim84
2
1.3k
知っていると得する!Movable Type 9 の新機能を徹底解説
masakah
0
200
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
120
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fireside Chat
paigeccino
41
3.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
GitHub's CSS Performance
jonrohan
1032
470k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
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 ͍͘͢ͳͬͨʁ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ