UseCase具有Clean Architecture中的多个响应列表

时间:2019-04-01 13:21:02

标签: android mvvm repository-pattern clean-architecture

我在 Android 应用程序中使用了清洁架构原理。 我有一个仪表板屏幕,其中包含两个列表,一个列表包含供稿,另一个列表包含事件。

对于此屏幕,我有一个 ViewModel ,其中将包含列表。

要将数据提供给 ViewModel ,我有一个 UseCase ,名为 ViewDashboardUseCase

UseCase 使用两个存储库,一个用于提要实体,另一个用于事件实体。

考虑到这些信息,我有几个问题:

  • 这是使用 UseCase 的正确方法吗?我应该创建两个 UseCases 吗?
  • 如果我应该使用一个 UseCase ,从该 UseCase 返回两个列表并在 ViewModel 中使用它们的最佳方法是什么。

2 个答案:

答案 0 :(得分:0)

在2017年Google开发人员日上,Florina评论了将屏幕分成她所谓的“逻辑单元”,然后在单独的LiveData上观察这些逻辑单元的过程。 基本上,您将创建两个视图状态(或者,在您的代码中,我相信是用例),然后用列表填充每个视图状态。最后,使用两个LiveData向您的视图公开这些视图状态。

以下是会议的视频:https://www.youtube.com/watch?v=Ts-uxYiBEQ8 她在8分钟左右开始谈论这些。

答案 1 :(得分:0)

  

我应该创建两个 UseCases 吗?

是的,您应该为每个存储库使用一个 UseCase

ViewModel 可以使用两个 UseCases ,具体取决于您需要将列表“分别喂”(一次)还是“合并”(同时)。 em>或两者结合的新 UseCase