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

10

我有一个使用MVP架构的Android Studio项目。 对于这种类型的项目,建议采用什么样的包结构呢? 以下是我们可以采取的方案:

app:
  screen_name
    activityA
    presenterA
    interfaceA

or:
   activities
     activityA
     activityB
   preentors
     presentorA
     presentorB
etc

5
按功能打包,而非分层打包。 - Mitesh Vanaliya
3个回答

26

您的问题仅涉及到MVP架构模式中的UI部分。这包括视图类以及它们对应的Presenter。更好的解决方案是采用第一种方法。

enter image description here

应根据功能而非通用功能来为App打包。我们应该将在一起被修改/更改的类分组在一起。
一些开发人员按层分组源代码,例如第二种方法,因为他们希望对他们所使用的所有项目保持相同的包结构。但这是个错误的决定,因为仅因为它们共享相同的父类而分组时,很难找到这些类!
例如:对于活动,一些开发人员将它们放在activity包中,因为所有活动都扩展了Activity类。这是有道理的,因为这是一个仅限活动的包,但浏览这些包很困难。
有关更多信息,请参见:android-mvp-architecture和此S.O answer

0
除了其他答案之外,我建议您查看Android架构蓝图,这可能会给您组织和实现应用程序的想法。

-1

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

应用程序: 1. 活动: + 接口表示视图(即活动) + 实际活动 Java 类 2. Presenter: + 接口表示 Presenter + Java 类表示 Presenter 实现 3. Model: + 接口表示 Model + Java 类表示 Model 实现(在此处进行网络调用,将回调传递给 Presenter,然后将数据传递给 Activity)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接