Androidアプリを作る上でViewModelをどれだけうまく書くかがアプリを長く運営していく上で大事になってきます。

昔書いた記事はこちら

ViewModelがAndroidアプリの生命線であり、設計良く保ち、テストコードを書くことでバグを少なく、変更にも対応しやすく変更失敗率も減少し、生産性の向上に繋がります。逆にViewModelが良くないとテストコードも書けず、変更にも対応しにくく変更失敗率が増加し、生産性は下降します。

ViewModelを実装する上でどのように書いたら良いか、海外の記事でうまくまとめられているので1個ずつルールに従っていくと良いViewModelが書けます。2024年6月時点でpart3まであります。

https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-1-%EF%B8%8F-bdf05287bca9

https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-2-%EF%B8%8F-2b49281f0029

https://proandroiddev.com/mastering-android-viewmodels-essential-dos-and-donts-part-3-%EF%B8%8F3%EF%B8%8F%E2%83%A3-1833ce3ddd2b

技術書典16ではmhidakaさんがViewModelの書き方の本を出しているのでこちらもおすすめです。

https://techbooster.booth.pm/items/5748877

内容が少し古いですが釘宮さんの下記の書籍も設計の全体像を把握しやすいのでおすすめです。

https://peaks.cc/books/architecture_with_team