MVC的衍生物、MVP

MVP(Model View Presenter)模式是众所周知的MVC(模型视图控制器)的衍生物,现在一段时间以来,Android应用程序的开发越来越重要。有越来越多的人谈论它,但是很少有可靠和结构化的信息。这就是为什么我想使用这个博客来讨论,并把我们所有的知识应用到我们的项目最好的方式。

什么是MVP?

MVP模式允许将表示层与逻辑分开,以便所有关于界面如何工作的内容与我们在屏幕上的表示方式分开。理想情况下,MVP模式将实现相同的逻辑可能具有完全不同的和可互换的视图。
首先要说的是,MVP 不是架构模式,它只负责表示层。在任何情况下总是更好地使用它为您的架构。

为什么要使用MVP?

在Android中,我们遇到了一个问题,因为Android活动与接口和数据访问机制紧密相连。我们可以找到极端的例子,例如CursorAdapter,它将视图中的一部分混合适配器,光标,应该被归入数据访问层的深度。
为了使应用程序易于扩展和维护,我们需要定义良好分隔的层。如果我们不用从数据库检索相同的数据,明天要做什么,我们需要从Web服务中做到这一点?我们必须重做我们的整个观点。
MVP使我们的观点独立于我们的数据源。我们将应用程序分成至少三个不同的层次,这使我们可以独立测试。使用MVP,我们可以从活动中获取大部分逻辑,以便我们可以在不使用仪器测试的情况下进行测试。

如何实现Android中的MVP?

MVP有许多变化,每个人都可以根据自己的需要和他们感觉更舒适的方式调整模式想法。这种模式基本上取决于我们授予演示者的责任量。
视图是否负责启用或禁用进度条,还是应由演示者完成?谁决定在“行动栏”中显示哪些行动?所以我认为这篇文章的观点不在于应怎样去实现MVP,更多的是说我们应该如何严格按照MVP的原则来进行实现,因为每个人心里的标准都是不一样的,但是希望可以通过不一样的标准来走向同一个目的。



你可能感兴趣的:(MVC的衍生物、MVP)