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
0
420
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.6k
APIがある外部サービスはTerraformで管理できますよ
mpon
12
7k
Envoyを分かりやすく例えつつApp Meshの話をします
mpon
8
6.3k
AWS Fargateで得する人損する人
mpon
3
6k
kubernetes-meetup-4
mpon
2
2.4k
Unidirectional Data Flow in ReSwift
mpon
0
1.5k
Swift compile time is so slow
mpon
3
5.5k
Fight Xcode Project with Golang
mpon
1
2.8k
iPad Multi Taking
mpon
0
77
Other Decks in Technology
See All in Technology
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
190
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
1.8k
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
2k
Pwned Labsのすゝめ
ken5scal
2
570
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
110
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
850
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
110
事業を差別化する技術を生み出す技術
pyama86
2
540
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
120
困難を「一般解」で解く
fujiwara3
8
2.4k
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
140
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
220
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
RailsConf 2023
tenderlove
29
1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Designing Experiences People Love
moore
140
23k
Building Applications with DynamoDB
mza
93
6.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Docker and Python
trallard
44
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Designing for humans not robots
tammielis
250
25k
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 ͍͘͢ͳͬͨʁ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ