MVVMって調べるとデータの流れとかとか全部いっきに書かれてる記事が目立って実際コード書こうと思ったらなかなか書けない、「っで、MVVMの旨味ってなんなん?」的な事になりかねません。
でも実際はそれほど深く考えなくてもいいと思います。
ここではKotlinとかJavaとかのコードは載せません。それと、AndroidのArchitectureComponentsの説明もしません。
純粋にMVVMだけ取り上げます。
今回は概念というか考え方というか旨味を知ってほしいからです。
ざっくり
自分の中ではこれが一番旨味がわかる図だと思います。
説明
View
はViewModel
内の関数を呼び出す。その反対はない。
ViewModel
はModel
内の関数を呼び出す。その反対はない。
旨味
例えば読み込んでくる
Model
を変えたくなった時、ViewModel
が呼び出してるModel
の参照先を変えればいいんです。🎉
こうする事でテストデータから本番データへの切り替えが非常にわかりやすくなります。
また、エラーが出てもどこでエラーが出たのかがわかりやすくなります。
説明は以上です。必要最低限で書きました。