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

Android MVP项目中包结构的最佳实践,android,package,mvp,Android,Package,Mvp,我有一个使用MVP架构的Android Studio项目。 这种风格的项目的建议包结构是什么 我们可以做到: app: screen_name activityA presenterA interfaceA or: activities activityA activityB preentors presentorA presentorB etc 您的问题只是UIMVP架构模式的一部分。它是查看类及其相应的演示者

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

app:
  screen_name
    activityA
    presenterA
    interfaceA

or:
   activities
     activityA
     activityB
   preentors
     presentorA
     presentorB
etc

您的问题只是UIMVP架构模式的一部分。它是查看类及其相应的演示者。更好的解决方案是第一个方法

应用程序应具有符合功能的软件包,而不是通用功能。我们应该将正在更改/修改的类分组在一起

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

例如:对于活动,一些开发人员将它们放在
activity
包中,因为所有活动都扩展了
activity
类。这是有意义的,因为这是一个只包含活动的包,但很难遍历这些包


有关更多信息,请参阅:而此S.O

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

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

除了我建议查看的其他答案之外,这些答案可能会让您了解如何组织和实现应用程序。

按功能而不是按层打包。