在使用 MVP 模式构建 Android 应用程序时,我想知道我应该使用演示者活动方式还是功能方式?
Activity-wise 意味着,演示者的数量等于活动的数量。
功能方面意味着,对于每个功能,应该使用单独的 Presenter。
在使用 MVP 模式构建 Android 应用程序时,我想知道我应该使用演示者活动方式还是功能方式?
Activity-wise 意味着,演示者的数量等于活动的数量。
功能方面意味着,对于每个功能,应该使用单独的 Presenter。
我个人的做法是,它取决于逻辑,每个都有它的优点和缺点。假设一个活动有一个列表片段和一个细节片段,如果这些片段你很确定它们只会与这个活动一起使用,那么你可以有一个演示者,但是如果你想在其他中使用细节或列表片段怎么办活动,或者如果它是人员列表和每个人的详细信息,那么您可以打开登录的用户详细信息视图(从人员列表以外的地方)?您将使用相同的活动演示者(在架构方面不是那么好),所以在这种情况下,我认为有 2 个演示者是更好的方法!
简而言之,它没有规则,它只取决于您是要在其他场景中使用视图还是视图仅附加到此活动。
功能方面,因此您可以在多个活动中重用演示者。
另外:出于测试目的,Presenter 不应该有 Views 甚至 Context 的引用。
对我来说,它应该是活动方面的,因为一个屏幕可能有更多的功能,并且为每个屏幕设置演示者将需要太多的演示者,而且将它们组织到一个屏幕中会很痛苦。它之间是一个基于意见的问题。