MVP 项目中包结构的最佳实践

Best practice for package structure in an MVP project

我有一个使用 MVP 架构的 Android Studio 项目。 这种风格的项目的建议包结构是什么 我们可以做到:

app:
  screen_name
    activityA
    presenterA
    interfaceA

or:
   activities
     activityA
     activityB
   preentors
     presentorA
     presentorB
etc

您的问题只是 UI MVP 架构模式 的一部分。这是 View classes 及其相应的 Presenters。更好的解决方案是 first 方法。

应用程序应根据 功能 而非常用功能进行打包。我们应该将 class 组合在一起,它们 将 changed/modify 组合在一起

一些开发人员按层对源代码进行分组 - 就像第二种方法 - 因为他们希望为他们从事的所有项目保持相同的包结构。但这是一个错误的决定,因为当它们被分组时总是很难找到 classes 只是因为它们共享相同的父 classes!

例如:对于活动,一些开发人员将它们放在 activity 包中,因为所有活动都扩展 Activity class。这是有道理的,因为这是 activity-ONLY 包,但很难通过这些包。

有关详细信息,请参阅:android-mvp-architecture and this S.O

MVP 是不错的选择。您可以遵循以下模式:

应用: 一、活动: + 表示视图的界面(即 activity) + 实际 activity java class 2. 主持人: + 表示演示者的界面 + java class 表示演示者实现 3、型号: + 表示模型的接口 + java class 表示模型实现(在这里进行网络调用,将回调传递给演示者,然后将数据提供给 activity)

除了其他答案,我还建议您查看 android architecture blueprints,这可能会让您了解如何组织和实施您的应用程序。