MVVM UseCase Repositoryメモ
2022/04/23
ライブラリ
- Dagger Hilt
- Kotlin Coroutine
- Kotlin Flow
Activity, Fragment(UI)
- ViewModelのStateFlowを監視して、随時画面に出力する
ViewModel(状態管理)
- View、Dispatcherなし
- Contextが必要な場合はapplicationContextを使う
- StateFlowは進捗用、失敗用、成功用で分ける
- viewModelScope.launchする
- UseCaseから受け取ったStateを判別してMutableStateFlowに突っ込む
UseCase(ドメイン、ビジネスロジック)
- 通信前のバリデーション
- Repositoryから受け取ったデータをrunCatchingで仕分けしてStateでラップしてFlowで返す
- 複数のRepositoryを扱う煩雑な処理をViewModel側で扱いやすいようにする
- 一連の処理が単純なら省略しても良い
Repository(データ操作)
- APIサービスから受け取ったデータをFlowで返す