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
DDD Practice in iOS
Search
Masato Oshima
December 15, 2015
Technology
500
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.4k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
7.2k
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
150
Other Decks in Technology
See All in Technology
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
120
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
370
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
510
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
100
AIエージェントを雇う前に決める5つのこと
knishioka
1
130
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
320
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.5k
ClaudeCodeでセキュリティ監視業務を半自動化_1年の運用でわかったAIに任せる設計の5つのポイント
kintotechdev
4
1k
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
120
会計事務所と顧問先の契約関係をOIDC・OAuthで表現する
terara
0
580
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
150
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
エンジニアに許された特別な時間の終わり
watany
108
250k
Typedesign – Prime Four
hannesfritz
42
3.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
410
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
230
Designing Experiences People Love
moore
143
24k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Facilitating Awesome Meetings
lara
57
7.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Un-Boring Meetings
codingconduct
0
400
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 ͍͘͢ͳͬͨʁ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ