私は、AndroidアプリにMVVMアーキテクチャデザインパターンを実装することを計画しています。懸念事項を効率的に分離し、データモデル、UIなどのテストケースを簡単に作成するのに役立つことをオンラインで読みました。これにはいくつかの洞察/アドバイスが必要です。
まあ、MVVMを効果的に使用する方法を学ぶには、 Android MVVM Design Pattern Examples から始めます
ここにあなたはその投稿を見つけるでしょう:
私は Android-Binding の開発者です。 @Brentleyが言ったように、それは非常に新しいプロジェクトですが、改善できるようにもっと話題と経験を得たいと思っています。あなたの質問に戻って、Androidバインディングを使用したMVVMの簡単な紹介/チュートリアルを書きました:
- Android MVVMチュートリアル(Androidバインディング付き)
- Android Binding(codeproject) の概要
- Android Binding(codeproject)
- プロジェクトホームページのWiki
潜在的な採用者は、 プロジェクトディスカッショングループにも登録してください。
トピック全体をお読みください。 MVVM
は比較的新しいフレームワークであり、Googleのp Data Binding
ライブラリおよび Roboguice
のような依存関係注入ライブラリと連携して作業することを強くお勧めします。 または Dagger2
...
...しかし、これが一番です:
アプローチAndroid。データバインディングライブラリを使用したMVVMアーキテクチャアプリケーションの構築 、
著者が例としてデータバインディングライブラリでMVVMを使用することを説明しているところ-自分で作成したアプリを意味します。彼は結論付けている:
このアプローチがアプリケーションを開発する正しい方法であるかどうかを知るにはまだ時期尚早ですが、この実験により、将来のプロジェクトの可能性の1つを検討する機会が与えられました。それは間違いなくもっと遊んでみたいものです。
Model-View-ViewModel
は興味深いものです。従来のAndroid=アーキテクチャでは、コントローラーがデータをビューにプッシュします。ビューをアクティビティで見つけ、コンテンツを設定します。
MVVMでは、ViewModel
が一部のコンテンツを変更し、変更されたコンテンツについてバインディングデータフレームワークに通知します。フレームワークは、そのコンテンツにバインドされているビューを自動的に更新します。
2つのコンポーネントは、データとコマンドのインターフェースを介して疎結合されています。
MVVM
を使用する次のアプローチは、実際にテスト可能です。 Android上のMVVMから:知っておくべきこと
ViewModel
はView
に依存しなくなったため、ViewModel
がなくてもView
をテストできます。他の依存関係に適切な依存関係を注入すると、テストは非常に簡単になります。たとえば、VMを実際のビューにバインドする代わりに、テストケースでVMを作成し、それにデータを与えてから、データが適切に変換されることを確認するために(...)これはすべて、実際のビューと対話する必要なく実行できます。
また読む: MVVM ON Androidデータ結合ライブラリの使用
それが役に立てば幸い