模型视图演示者 - 相同的视图,不同的演示者

时间:2015-05-12 09:42:26

标签: android design-patterns mvp presenter ui-patterns

我正在使用MVP构建一个Android应用程序,我对此模式有一个疑问。

假设我有一个创建新人的屏幕。此屏幕将显示一个EditText用于插入姓名,另一个用于显示姓氏,一个ImageView用于显示已挑选的照片图片等。 这将导致一个View接口,由Fragment实现。它将与一个Presenter接口合作,由另一个类实现。

精细。

现在我有另一个功能:编辑现有人的屏幕。 碰巧的是,此功能的View与创建新人的功能相同。但是,Presenter是不同的。它将从db中加载现有人员以使用当前数据预先填充视图开始,单击“save”时对数据库的操作将是更新而不是插入。

所以,我认为这是MVP 的一个例子,其中一个View使用演示者的不同实现来实现不同的用例

  1. 您认为这是一个正确的假设,还是您认为不同的功能应该有不同的ViewPresenter接口?

  2. 此外,如果您使用的是共同View且不同的PresentersView的实施是否会很常见,或者会导致实施相同的界面两节课?在实践中,我看到两个选项。

    • 只有一个Fragment实施View。根据用户是要创建新人还是更新现有人,Fragment应该接收并使用不同的Presenter。

    • 有两个Fragment个。每个人都会实例化一个不同的Presenter。使用组合或继承来避免在两个片段之间复制代码。

  3. 在这些情况下,您认为哪种情况更好?

    感谢。

0 个答案:

没有答案