[Android]Android用MVVMモード


🌈Android開発者の視点からMVVMモデルを理解してみましょう.
MVVMモード?
モデル、ビュー、およびViewModelの略.
ビュービュービュービュービューモデルを参照してください.
ViewModelはモデルを参照および制御します.
ビューは、ViewModelの変更を確認するときに自動的に画面をリフレッシュします.(傍観者モード)
View Modelはビューを知らない.
モデルはビューとViewModelを知らない.
ViewModelとViewは1:nの関係です.複数のビューで1つのViewModelを使用できます.
簡単に考えてみよう
Viewでは、View Modelの入力を求めるメッセージが表示されます.
その後、ViewModelはモデル内で変更を繰り返します.
ビューは、表示時に画面をリフレッシュします.
Model
  • MVCモードと同じです.
  • データのオブジェクトを表します.
  • View
  • xml/Activity/fragmentファイル.
  • DataBindingまたはLiveDataの観測を用いてファイバモードを適用した.
  • MVCモードのビューでは、この2つの機能を理解できます.
  • ユーザーの操作をViewModelに転送します.btn.setOnClickListener{ ... }
  • ViewModelの変更を確認すると、画面が自動的に更新されます.
  • viewModel.result.observe(this, {
        binding.textView.setText("$result")
    })
  • ビューは、ViewModelの変更を確認するときに自動的に画面をリフレッシュします.
  • は、デフォルトではビジネスロジックは含まれていませんが、UIに関連するいくつかのロジックが含まれています.
  • ViewModel
  • ViewModelとLiveDataを使用します.
  • アンドロイド上のビューモデルは、アクティブ/分割ライフサイクルの影響を受けません.
  • モデルを制御するために必要な変数と関数があります.
  • ビジネスロジックを含む->ビューからリクエストを受信すると、モデルを制御します.
  • MVVMモードの利点
  • は大規模なプロジェクトに適しています.
  • モデル、ビューモデル、ビューモデルの依存性が低く、メンテナンスとテストが容易です.
  • ビューモデルはモデルのみを制御するため、モジュール化が容易である.
  • MVVMモードの欠点
  • xmlファイルにコードを追加し続けると、データバインド(DataBinding)が面倒になる可能性があります.
  • ビューモデルは、別の形式のアクティビティである可能性があります.
  • の小型プロジェクトはMVCモデルよりずっと複雑に見えます.
  • 運動曲線は存在し、設計が困難である.
  • 初期段階では、MVCモードでコードを書く必要はありませんが、Android開発者になるには、MVVMモードとJetPackを学ぶ必要があります.
    次に、MVVMモードを支援するJetPackを探してみましょう.
    🎨Img

    📖ソース:スペースの記事