【发布时间】:2015-12-09 13:22:39
【问题描述】:
我正在尝试遵循 MVP 模式。但是,我对如何在这种模式下处理适配器和视图持有者有一些疑问。
我应该将适配器用作演示者吗?有业务逻辑吗?
或者我应该传递一个处理列表逻辑的演示者实例,然后在与适配器元素有任何交互时调用演示者的方法?
谢谢
【问题讨论】:
-
我认为 Android 视图适配器纯粹是 V 范围的东西,如果适配器是演示者——这些演示者在视图实现的某个地方是内部的。此外,演示者不应包含业务逻辑,因为它们只是 M 和 V 之间的中介。在我当前基于 MVP 的项目中,演示者根本不知道列表适配器,因为他们不应该关心 某物的列表 i> 被显示(例如,一个演示者只是告诉一个视图:“以某种方式显示路由”,并且只是监听一个视图事件“onRouteSelected”,因为路由可以从任何类型的小部件获得,不一定是列表)。跨度>
-
那么,你有没有引用适配器内部的演示者?或者您是否将侦听器添加到适配器事件,然后重定向到演示者? @LyubomyrShaydariv
-
是的,第二种情况:适配器可以与托管视图交互,然后特定视图决定如何将事件转换/委托给演示者(或演示者侦听器 - 取决于您如何单独的演示者和侦听器接口)。