【发布时间】:2017-03-23 15:57:40
【问题描述】:
我有一个使用 MVP 模式设计的应用。但有时我不确定我们所有的实现是否都遵循 MVP 最佳实践。虽然并不总是可以按照本书来工作,但我试图找出处理非用户交互的逻辑应该在哪里。
例如:
我必须检测垂直滚动 RecyclerView 的偏移量。当滚动达到内容高度的 20%(大约)时,我应该显示一个弹出窗口。现在,我的逻辑是(伪代码)
1. Presenter sets View.setVerticalOffsetTriggeringLimit(1000 pixels)
2. View triggers view event and call Presenter.offsetForPopUpReached()
3. Presenter triggers View.showPopUp()
4. pop up is shown
优点和缺点?有没有办法在仍然有可测试代码的同时做得更好?系统本身是不是应该使用presenter作为中间层的“用户”?
【问题讨论】:
标签: android architecture mvp