Más contenido relacionado
La actualidad más candente (20)
Similar a VIPER アーキテクチャによる iOS アプリの設計 (20)
Más de Yuichi Adachi (12)
VIPER アーキテクチャによる iOS アプリの設計
- 3. Copyright © Classmethod, Inc.
9月上旬…
3
F.T氏
私
北海道勉強会やるんだけど、なんか話さない?
お題は未定ね
そうすね…Swift かなんかで話しましょうか…
F.T氏
Swift勉強会…いいよね…
- 13. MVP on iOS Application
• Model View Presenter
• ViewはModelを直接操作しない
• Model : ロジック
• Presenter : UIViewController
• View : UIView
Copyright © Classmethod, Inc.
13
View
Presenter
Model
- 14. Massive ViewController
• ModelとViewに置けなかったロジックは
ViewController(Presenter)へ
• 扱うViewの量に合わせて
コード量が増える
• Mediatorとしては正解だが…
Copyright © Classmethod, Inc.
14
- 15. Massive ViewController
• ModelとViewに置けなかったロジックは
ViewController(Presenter)へ
• 扱うViewの量に合わせて
コード量が増える
• Mediatorとしては正解だが…
Copyright © Classmethod, Inc.
15
- 20. VIPERアーキテクチャ
View Interactor Presenter Entity Routing
• フレームワークに依存しない
• DB, APIに依存しない
• UIに依存しない
• テストしやすい
Copyright © Classmethod, Inc.
20
- 24. 依存性を注入
DB,WebAPIを
仲介
UIView, UIViewController
Copyright © Classmethod, Inc. 24
UIロジック
Businessロジック
静的データ
- 27. Copyright © Classmethod, Inc.
Presenter
• InteractorからのデータをView向けに送る
• Viewからのインプットを受ける
• Viewを直接知らない
• Viewロジックに対する
テストを書ける
27
- 29. Copyright © Classmethod, Inc.
Routing
• UIWindowのインスタンスを保有
• WindowにViewController(VC)を注入
• VCにPresenterを注入
• VCの遷移表示も管理
29
- 34. 参考資料
objc-io 13
http://www.objc.io/issue-13/viper.html
Clean Architecture
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-
architecture.html
Forked Sample Code
https://github.com/UsrNameu1/VIPER-SWIFT
Copyright © Classmethod, Inc. 34