LoginSignup
1
2

More than 3 years have passed since last update.

【メモ】VIPERアーキテクチャについて。

Posted at

VIPERとは

  • View, Interactor, Presenter, Entity, Router から成り立つアーキテクチャ
  • iOSのためのアーキテクチャ
  • 単一責任の原則を重視している
  • このアーキテクチャを使った結果↓ Viper-Module-768x365.png ※公式サイトより

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)

VIPERアーキテクチャドキュメント

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2