我正在尝试遵循MVP模式。但是,我对如何处理这种模式的适配器和视图持有者有一些疑问。
我应该使用适配器作为演示者吗?有业务逻辑吗?
或者我应该传递一个处理列表逻辑的演示者实例,然后在与适配器元素进行任何交互时调用演示者的方法?
谢谢
答案 0 :(得分:4)
在Android
中实施MVP没有确切/正确的定义要回答您的问题,我认为Presenter
不应该有任何Android逻辑。
因此,Adapter
将是“View
”,即Presenter为其提供数据(通过Activity
或Fragment
),它只是处理如何提出这个。
我会按照以下方式做MVP。
模型 - POJO,解析,存储(SQLlite)和检索数据(http)。显然我将POJO,解析和数据库逻辑划分为子文件夹 - 但这对我来说都属于模型。
查看 - Activity
,Fragment
,Adapters
- 活动&片段保持对Presenter的引用,该Presenter为它们提供要显示的数据。如何显示这些数据/消息,外观+感觉等在View
处理。
演示者 - 中间人,为输入提供逻辑,即按钮点击,数据检索,输入验证和输入。然后将结果传递回视图(Activity
或Fragment
)
这是关于MVP
的精彩文章这是一个简化的diagram MVP
从此question修改的答案(也由我回答)