【发布时间】:2015-11-20 06:34:21
【问题描述】:
最近我开始阅读很多关于 MVP 的内容,我想用它来练习我的项目。
但是我无法正确理解 Rx + Retrofit 代码应该去哪里?我认为它应该通过交互器在模型层中,但仍然有人可以分享一些关于此的信息吗?
还有 RX 回调会发生什么? onNext()、onCompleted() 和 onFailure() 将数据传递回 Presenter 还是我们实现侦听器然后将其传递给 Presenter?
当我在 onNext() 中获取数据时,我还想持久化数据(Realm/StorIO),所以再次将它传递给另一个 DataLayer 或者它应该去哪里?
我们还应该进一步解耦 Rx 回调吗?
还有这个来自 antonioleiva.com 的单独 github 存储库 https://github.com/antoniolg/androidmvp
【问题讨论】:
-
我在 Rx 和 Retrofit 方面没有任何经验,但它们似乎最好住在 M 中。将 P 和 V 视为一种与用户交互的“附加组件”,因此他们的责任只是通知用户并听取交互。简而言之,P 和 V 中没有业务逻辑。还可以将您的 M 视为通往外部代码库的“敞开大门”,可以在其他地方重复使用,比如在非用户交互应用程序(例如系统服务)甚至其他环境(如 GWT)中。这会通过不同层的接口带来一定的复杂性,但这会使您的系统松散耦合。
标签: android design-patterns mvp rx-java rx-android