干净的架构:在域中使用 CompositeDisposable 或 presentation/app

Clean architecture: Use CompositeDisposable in domain or presentation/app

我刚刚开始学习 CleanArchitecture 并将其应用于我的 Android 项目。
我看到这里有 2 个很好的来源
1) https://github.com/android10/Android-CleanArchitecture
2) https://github.com/fiveagency/Reedly (https://five.agency/android-architecture-part-4-applying-clean-architecture-on-android-hands-on/)

目前,第一个来源使用 domain (inside UseCase) and the second source use in presentation/app(Presenter/ViewModel)

中的 CompositeDisposable

据我目前的理解,当我们将 CompositeDisposable 放入 Presenter/ViewModel 时,我看到了好处。

当我们将 CompositeDisposable 放入 UseCase

时,我看到了好处

不知道有没有其他pros/cons of 2的方法。我从不在实际项目中使用 CleanArchitecture,而且我知道当我们采用任何方法时,很难更改为另一种方法。

对我来说,目前我觉得我会选择:把CompositeDisposable放在UseCase里。 我应该使用什么?还有其他方法吗?
任何帮助或建议将不胜感激。

谈到清洁架构,我已经使用 1) Android-CleanArchitecture 大约一年了。而在处理 CompositeDisposable 时,如果我是你,我会在 Presenter 中进行,因为它与 View 的生命周期密切相关,它控制着 CompositeDisposable 中的数据流这种情况属于.

建议:

1) Android-CleanArchitecture 从 MVP 转换为 MVVM Presentation layer with ViewModels 并处理你的 CompositeDisposable 在那里。带有 Google 新 ViewModel 库的 MVVM 消除了您自己管理生命周期相关对象的麻烦,而此 CleanArchitecutre 模板中的 MVP 无法提供。


希望这能让事情变得更清楚一些。祝你好运:)