LoginSignup
1
1

More than 3 years have passed since last update.

MVVMモデルについて

Last updated at Posted at 2021-04-19

はじめに

この記事では、MVVMモデルについて簡単にまとめました。
⚠️当方初学のため認識違いがある可能性大です
誤りを見つけた際はコメントにて指摘していただけると幸いです🙇‍♀️🙇‍♂️

参考

この記事は、以下の情報を参考にして執筆しました。

MVVMモデルとは

Presentation and Presentation Logic.png
(https://www.keyman.or.jp/kn/articles/1906/26/news033.html から引用)
※直線は直接的なAssociationを表し、破線は(例えば)Observer パターンを経た間接的なAssociationを表す

View : UIを表示するロジックのみをもつ
ViewModel : UIに表示するためのデータを管理
Model : 上記2つ意外の処理
DataBinding : アクションを監視し、変更があれば反映する
Presentation and Presentation Logic : Viewの表示と、Viewに関する処理
Businesslogic andData : ビジネスロジックと固有のデータの管理

UIを持つソフトウェアに適用されるソフトアーキテクチャの一種。
MVCパターンの派生。
Model、View、ViewModelのそれぞれに役割が分かれている。
依存関係としてはView → ViewModel → Modelという形でその逆はない。

MVVMの利点

・責務の分離がしやすい
・スケーラビリティ(拡張しやすい)
・テストがしやすい(UIロジックとビジネスロジック が分離されているため)
・AACというライブラリと親和性が高い

Model

固有のデータとそのビジネスロジックなどを扱う。
Viewの描画処理について何も知らないし関わらないが、Viewの見た目、装飾についての情報は保持している。

View

アプリケーションの扱うデータをユーザへ見せるため表示し、ユーザからの入力を受け取る。(ユーザインターフェイス)
Viewは渡された値に基づいて描画を行う。
よって、状態は保持しない。

ViewModel

Viewを描画するための状態の保持と、Viewから受け取った入力を適切な形に変換しModelに伝達する。
ViewとModelの間の情報の伝達と、Viewのための状態保持のみを役割とする。

1
1
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
1