干净的架构:在域中使用 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
中,对于每个 UseCase
我们需要处理调用 1 次)
- 可能很容易组合许多
UseCase
(例如:UseCase1
执行然后 flatMap/zip... 与 UseCase2
)
当我们将 CompositeDisposable
放入 UseCase
时,我看到了好处
- 它将
RX
与演示文稿分开
不知道有没有其他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 无法提供。
希望这能让事情变得更清楚一些。祝你好运:)
我刚刚开始学习 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
中,对于每个UseCase
我们需要处理调用 1 次) - 可能很容易组合许多
UseCase
(例如:UseCase1
执行然后 flatMap/zip... 与UseCase2
)
当我们将 CompositeDisposable
放入 UseCase
- 它将
RX
与演示文稿分开
不知道有没有其他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 无法提供。
希望这能让事情变得更清楚一些。祝你好运:)