VIPERとは
- View, Interactor, Presenter, Entity, Router から成り立つアーキテクチャ
- iOSのためのアーキテクチャ
- 単一責任の原則を重視している
- このアーキテクチャを使った結果↓ ※公式サイトより
Viewの役割について
- UIViewController
- PresenterからのViewの更新を実行する
- ユーザからの入力を監視する
Presenterについて
- ViewとInteractorとの受け渡し
- viewの更新依頼
Interactor(いんたーあくたー)について
- データを生成することと生成されたデータをいつでも使える状態に保つことが責務
- サーバーからデータの受信など
- リクエストの作成とレスポンス処理もここ。
- リクエストの結果をPresenterに送信する
- リクエストを行ってPresenterに送るまでが仕事
Entityについて
- データの型
Routerについて
- データをViewから他に受け渡すことが責務
- アプリ内の全てのパスを記載している
個人的な解釈
とても個人的な解釈なので、間違っていたらコメントしていただくとありがたいです。
VIPERアーキテクチャは、MVPアーキテクチャを細かくしたアーキテクチャでは?
- View(MVP)
- View(VIPER)
- Presenter(MVP)
- Presenter(VIPER)とRouter(VIPER)
- Model(MVP)
- Interactor(VIPER)とEntity(VIPER)