Android MVP解释

标签 android architecture mvp

我试图了解编写“干净”Android 应用程序的最佳方法是什么。我发现了一个有趣的 article关于他们使用一种 3 层架构的地方。

现在我读到 android 使用 MVP 设计模式并尝试理解这一点。我理解 MVP 原则(在 android 上下文中)的方式是:

  • 模型层是逻辑类
  • 演示者是“链接”到 XML( Activity )的类
  • 被动 View 是 XML。

这是正确的吗?

如果这是正确的,那么 3 层模型是否也正确完全符合 MVP 原则,因为:

  1. 三层架构中的表现层适合MVP的表现层
  2. 3 层架构中的业务和数据层非常适合 MVP 的模型部分?

我希望我的问题很清楚,因为这对我来说是一个复杂的话题。

也许这会澄清我对此的看法(思维方式)......Maybe this clears up my vision about this...

最佳答案

我想澄清的第一件事是,MVP 或与此相关的任何其他模式并不是 Android 开发人员所特有的,并且可以应用于任何其他框架。

我想你明白了它的要点:

  • View 通常由 Activity 和 fragment 实现,并将包含对演示者的引用
  • 演示者是 View 和模型之间的中间人。从模型中检索数据并将已格式化的数据返回给 View ,因此除了显示数据外不需要执行任何其他操作。
  • 模型可以简单地看作是“数据提供者”。它可以像您想要的那样复杂,使用内部数据库、大量类等。

如果您对 Android 应用架构感兴趣,我建议您观看今年在 Android 开发者峰会上发表的演讲。这是我见过的最好的之一

https://www.youtube.com/watch?v=BlkJzgjzL0c

关于Android MVP解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34495430/

相关文章:

c# - 如何比较具有相似属性的两个截然不同的对象

android - 为什么 MVC 中的单元测试比 MVP 和 MVVM 更难

android - 是否可以在对话框 fragment 内显示 map View ?

android - 图像按钮的可见性不适用于 Lollipop 设备及更高版本

php - Android 中的错误 "Only the original thread that created a view hierarchy can touch its views"

c++ - 重构厚客户端遗留应用程序

android - 使用 RxJava2 PublishSubject 管理 null bool 值

java - 手动下载的android obb文件,通过Play Store更新应用程序后删除

java - 软件架构中的容器和方法包——静态怎么样?

asp.net-mvc - 允许 Action 、 View 和模型的高度变化