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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masato Oshima
December 15, 2015
Technology
480
0
Share
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.8k
APIがある外部サービスはTerraformで管理できますよ
mpon
12
7.3k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
7k
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.8k
Fight Xcode Project with Golang
mpon
1
3k
iPad Multi Taking
mpon
0
140
Other Decks in Technology
See All in Technology
AIが変えた"品質の守り方"
kkakizaki
13
5.5k
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
120
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
320
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
280
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
180
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
190
string地獄を脱出する
sansantech
PRO
1
110
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
5
350
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
250
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
1.1k
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Writing Fast Ruby
sferik
630
63k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Deep Space Network (abreviated)
tonyrice
0
160
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
30 Presentation Tips
portentint
PRO
1
310
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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 ͍͘͢ͳͬͨʁ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ