Cas*_*sio 7 architecture mvp android mvvm android-databinding
我正在构建一个Android应用程序,并希望以"干净架构"为基础,类似于以下作者的建议:
查看(片段)< - >演示者< - >交互者< - >存储库
在当前设计中,每个显示器有1个交互器(显示器可以包括多个片段,例如具有30个相同类型的片段的ViewPager)和每个片段1个呈现器.Presenter和Interactor没有框架依赖关系,可以轻松进行测试.
我主要关注的是Interactors/UseCases的实现及其与Presenters(MVP)或ViewModel(MVVM)的关系.
计划让Interactor首先获取显示所需的所有业务对象(BO).从数据层同步完成提取,并且每个接收到的BO都指向Presenter.这会导致延迟,直到视图中显示所有数据.
此外,它注册其感兴趣的BO的更新(与之前提取的相同),以通过演示者不断更新视图.
因此,我正在寻找如何在我的案例中设置Interactor的指南.上面提到的实现有一个任务,然后完成它,并且可以关闭Interactor后台线程.
在我的情况下,Interactor从数据层注册更新并等待处理它们,然后将数据发布到Presenter UI线程,因此只要有演示者监听就行.
这个功能是不同的,我正在寻找一个良好的做法,使其与"干净的架构"一起工作.
因此,如果我理解您的问题,您的担忧或疑问就会出现,因为您的交互器不会执行任务然后完成,而是会订阅或监听直到操作完成。
在我看来,这完全没问题,交互器实现了一个用例,并且在您的程序中,异步请求是一个用例,它是否需要时间并且是异步任务还是同步操作并不重要。
这仍然是一个用例,其中 Presenter 将实例化 Interactor,并且当完成后,它将发回操作结果。只要保持模块化,并且 Presenter 和 Interactor 不与直接依赖项耦合,而是通过间接通信,那就完全没问题。
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |