2022年9月27日火曜日

iOSアプリ設計パターン入門(書籍) 学習2

MVPとは?

画面の描画処理とプレゼンテーションロジックとを分離するアーキテクチャ

  • Model:純粋なドメインロジックやそのデータを持つ(MVCと同じ)
  • View:ーザー操作の受け付けと、画面表示を担当する
  • Presenter:View と Model の仲介役であり、プレゼンテーションロジックを担う

目的

保守のしやすさ向上

MVVMとは?

画面の描画処理とプレゼンテーションロジックとを分離するアーキテクチャ

ViewとViewModelを関連づける(データバインディング)ことで、ViewModelの状態変更に同期してViewの状態も更新される。

  • Model:純粋なドメインロジックやそのデータを持つ(MVCと同じ)
  • View:ーザー操作の受け付けと、画面表示を担当する
  • ViewModel:View-Model 間の画面表示のための仲介役
と、これだけ見るとほぼMVPと同じ・・・??と感じます。
データバインディングするかしないか、くらいの違いでしょうか・・・?

実装手段として、以下の手段がある
  • Nontification Center:手間もコード量も多い、非現実的、実装コスト高い
  • RxSwift(外部ライブラリ):学習コストかかる、ライブラリのアプデに追従する必要、記述が容易
以上!
詳しいことは、以下の書籍を購入して確認してくださいね!
図や、実装に関するコードとかも記述あります!
私には難しいことまではまだまだ理解できないので、かけません笑

2 件のコメント: