链接多个用例

Ana*_*dze 6 android use-case mvvm clean-architecture rx-java2

我在我的应用程序中使用 Clean Architecture 模式和 MVVM 架构。所以我有用于单个操作的用例,例如 LoginUseCase、DownloadAttachmentUseCase 等。

我很好奇的是,如果我想在我的视图模型中链接多个用例,执行类似的操作,首先登录,一旦成功,下载附件。

我是否需要创建另一个单独的用例,例如 LoginAndDownloadAttachmentUseCase ?

E.M*_*.M. 7

用例中只应包含应用程序业务规则的逻辑;UI 的更改不应改变用例的实现方式。对我来说,组合似乎LoginAndDownloadAttachmentUseCase只在特定 UI 的上下文中有用,因此不应该作为用例存在。

此外,如果您要为所有可能的场景创建组合用例,那么随着您的应用程序变得更加复杂,这将导致用例类的组合爆炸。

ViewModel 中有一些逻辑是可以的,特别是如果它只是转换数据或执行高级操作。每个用例代表一个高级操作。让 ViewModel 将其中的一些内容组合在一起并不会使测试和可维护性变得更加困难。

我认为https://github.com/googlesamples/android-architecture/tree/usecases是一个很好的例子。用例非常少,但在更复杂的应用程序中,它们可以将多个数据源组合在一起。


小智 -4

尝试Retrofit Synchronous Requests ,但同步方法在主线程上执行,因此它们会在 Android 4.0 或更高版本上触发应用程序崩溃。您\xe2\x80\x99 将遇到**NetworkOnMainThreadException**错误。\n要处理此问题,请在单独的线程(例如 JobIntent Service)中执行它,并通过 LocalBroadcast 接收器获取响应。\n收到状态后,您可以执行下一个查询来下载依恋。

\n