MVP 架构

构建 Android 应用程序的方法有很多种。但并非所有这些都是可测试的,并允许我们构建我们的代码,以便应用程序易于测试。可测试体系结构的关键思想是分离应用程序的各个部分,使它们更易于彼此分开维护,扩展和测试。

MVP 定义

Model

在具有良好分层体系结构的应用程序中,此模型将只是域层或业务逻辑的网关。将其视为我们要在视图中显示的数据的提供者。

View

通常由 ActivityFragment 实现的视图将包含对演示者的引用。视图唯一要做的就是每次有接口操作时从 Presenter 调用一个方法。

Presenter

Presenter 负责充当 View 和 Model 之间的中间人。它从 Model 中检索数据并将其格式化为 View。但与典型的 MVC 不同,它还决定了与 View 交互时会发生什么。

* Antonio Leiva 的文章定义

推荐的 App 结构(不是必需的)

应用程序应按每个功能包进行结构化。这提高了可读性并使应用程序模块化,使得部分应用程序可以彼此独立地进行更改。该应用程序的每个关键功能都在其自己的 Java 包中。