MVPとは?
画面の描画処理とプレゼンテーションロジックとを分離するアーキテクチャ
- Model:純粋なドメインロジックやそのデータを持つ(MVCと同じ)
- View:ユーザー操作の受け付けと、画面表示を担当する
- Presenter:View と Model の仲介役であり、プレゼンテーションロジックを担う
目的
保守のしやすさ向上
MVVMとは?
画面の描画処理とプレゼンテーションロジックとを分離するアーキテクチャ
ViewとViewModelを関連づける(データバインディング)ことで、ViewModelの状態変更に同期してViewの状態も更新される。
- Model:純粋なドメインロジックやそのデータを持つ(MVCと同じ)
- View:ユーザー操作の受け付けと、画面表示を担当する
- ViewModel:View-Model 間の画面表示のための仲介役
と、これだけ見るとほぼMVPと同じ・・・??と感じます。
データバインディングするかしないか、くらいの違いでしょうか・・・?
実装手段として、以下の手段がある
- Nontification Center:手間もコード量も多い、非現実的、実装コスト高い
- RxSwift(外部ライブラリ):学習コストかかる、ライブラリのアプデに追従する必要、記述が容易
以上!
詳しいことは、以下の書籍を購入して確認してくださいね!
図や、実装に関するコードとかも記述あります!
私には難しいことまではまだまだ理解できないので、かけません笑
ごとーです!
返信削除コメント出来た!
このコメントは投稿者によって削除されました。
返信削除