Clean Architecture 中具有多个响应列表的用例
UseCase with multiple response lists in Clean Architecture
我正在为我的 Android 应用程序使用 Clean Architecture 原则。
我有一个包含两个列表的仪表板屏幕,一个列表包含提要,另一个列表包含事件。
对于这个屏幕,我有一个包含列表的 ViewModel。
为了向 ViewModel 提供数据,我有一个名为 ViewDashboardUseCase 的 UseCase。
UseCase 使用两个存储库,一个用于提要实体,另一个用于事件实体。
考虑到这些信息,我有几个问题:
- 这是使用 UseCase 的正确方法吗?我应该创建两个 UseCases 吗?
- 如果我应该使用一个 UseCase,return 来自 UseCase 和在 ViewModel.
中使用它们
在 2017 年 Google 开发者日上,Florina 评论了将屏幕分成她所谓的 "logical units" 然后在单独的 LiveData 上观察这些逻辑单元。
基本上,您将创建两个视图状态(或者我相信,用例,在您的代码中),然后用列表填充每个视图状态。最后,使用两个 LiveData 将这些视图状态公开给您的视图。
这是会议视频:https://www.youtube.com/watch?v=Ts-uxYiBEQ8
她在 8 分钟左右开始谈论这些。
Should I create two UseCases?
是的,每个 Repository.
你应该使用一个 UseCase
根据您需要的列表是 "fed separately"(一次一个)还是 "combined"(同时),ViewModel 可能会使用两个 UseCases 或一个新的 UseCase 两者的组合。
我正在为我的 Android 应用程序使用 Clean Architecture 原则。 我有一个包含两个列表的仪表板屏幕,一个列表包含提要,另一个列表包含事件。
对于这个屏幕,我有一个包含列表的 ViewModel。
为了向 ViewModel 提供数据,我有一个名为 ViewDashboardUseCase 的 UseCase。
UseCase 使用两个存储库,一个用于提要实体,另一个用于事件实体。
考虑到这些信息,我有几个问题:
- 这是使用 UseCase 的正确方法吗?我应该创建两个 UseCases 吗?
- 如果我应该使用一个 UseCase,return 来自 UseCase 和在 ViewModel. 中使用它们
在 2017 年 Google 开发者日上,Florina 评论了将屏幕分成她所谓的 "logical units" 然后在单独的 LiveData 上观察这些逻辑单元。 基本上,您将创建两个视图状态(或者我相信,用例,在您的代码中),然后用列表填充每个视图状态。最后,使用两个 LiveData 将这些视图状态公开给您的视图。
这是会议视频:https://www.youtube.com/watch?v=Ts-uxYiBEQ8 她在 8 分钟左右开始谈论这些。
Should I create two UseCases?
是的,每个 Repository.
你应该使用一个 UseCase根据您需要的列表是 "fed separately"(一次一个)还是 "combined"(同时),ViewModel 可能会使用两个 UseCases 或一个新的 UseCase 两者的组合。