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
App Architecture Sample
Search
Yoshikuni Kato
August 27, 2017
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Architecture Sample
Yoshikuni Kato
August 27, 2017
More Decks by Yoshikuni Kato
See All by Yoshikuni Kato
Fun of writing Unison
yoching
0
760
The Elm Architecture & Swift
yoching
0
1.3k
iOS developers community in Tokyo
yoching
0
990
Swiftエンジニアが海外のポジションに応募する
yoching
10
3.4k
App Architecture By Manual DI
yoching
0
950
Passing function to function arguments
yoching
0
990
「新規アプリの設計」を設計する
yoching
1
2.2k
App Architecture By Manual DI
yoching
2
640
関数を引数として渡す書き方のポイント
yoching
0
910
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How GitHub (no longer) Works
holman
316
150k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
From π to Pie charts
rasagy
1
400
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
For a Future-Friendly Web
brad_frost
184
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Transcript
AppArchitecture sample @yoshikuni_kato 1
Past Architecture • MVVM-C • ը໘ભҠͷཧͱMVVM 1 • Coordinatorύλʔϯͷ࣮ફ 2
2 https://speakerdeck.com/yoching/coordinatorpatanfalseshi-jian 1 https://speakerdeck.com/yoching/hua-mian-qian-yi-falseguan-li-tomvvm 2
Past Architecture Problems • 2 tasks in Coordinator • View
Transition • Dependency Injection • hard to test • cannot replace with stub objects 3
Inspirations • Minimizing Decision Fatigue to Improve Team Productivity 3
• @try! swift 2017 • AppArchitecture(Application/UI/Components) • ґଘੑͷೖʢDependency Injectionʣ4 • Deep Linking at Kickstarter 5 • @SwiftTalk • "Routing" logics 5 https://talk.objc.io/episodes/S01E49-deep-linking-at-kickstarter 4 https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5 3 https://www.slideshare.net/DerekLee/minimizing-decision-fatigue-to-improve-team-productivity 4
Architecture 5
Sample Code • yoching/iOSAppArchitectureSample 6 6 https://github.com/yoching/iOSAppArchitectureSample 6
Workflow - when make view • make VC & VM
• make function at ViewFactory • (update services when necessary) 7
Workflow - when make service • make service • update
components 8
Workflow - When make transition • update coordinator 9
Result • Coordinator: only view transition • Factory & Components:
Dependency Injection 10