我已经阅读了一些有关在Android中使用MVP模式的文章。对我而言,最好的方法是创建合同(每个Model,View和Presenter一个接口)。 问题是我应该为每个活动创建这样的合同,或者如果我的应用程序中有几个活动,该如何实施。谢谢
答案 0 :(得分:4)
简而言之,
没有限制,它完全取决于您,并取决于您的项目结构。因此,您必须找到适合您项目的最佳解决方案。
但是,让我从广义上清除所有问题
首先,您应该了解,开发这些体系结构模式是为了使开发人员的工作更轻松,但是对于您将为哪个部分创建多少个类,它们从未绑定任何确切的要求。这完全取决于项目结构以及应用程序的功能。一切都取决于开发人员-您可以按照自己的方式进行设计。但是,显然,许多开发人员都遵循最佳实践。
模型负责数据处理或数据管理。因此,将有多少个模型,与有多少个活动或视图没有关系。因此,模型类的数量完全取决于您的数据集以及如何表示它们以便于访问。
我们可以认为项目中的每个活动都代表应用程序的每个单独的UI屏幕。从这种意义上讲,对于每个活动,您都应至少创建一个视图。
因此,这是MVP的主题,即模型和视图将相互隔离。但是,Presenter呢?是的,它是一种将模型和视图连接在一起的方法,因为它们之间没有直接连接。
演示者实际上包含了您应用程序的业务逻辑,因此一个视图可以向演示者请求一些内容,演示者可以从模型中收集并发送回视图。因此,最佳实践是为每个视图创建一个演示者,以使所有内容保持简单。但是,很明显,在某些情况下,几个视图可以使用相同的业务逻辑。在这种情况下,一位发言人可以提供两个单独的视图。也完全可以。
因此,现在您应该了解,为视图和演示者创建界面并不是绝对必要的。但是,在这种情况下,您将遵循我之前提到的MVP的一种良好做法,尝试为每个视图创建一个演示文稿,在这种情况下,为它们创建一个界面将很有意义,因为您将能够了解由MVP支持的所有行为。视图由演示者实施。