【问题标题】:Resources/App Context in Presenter (MVP architecture)Presenter 中的资源/应用程序上下文(MVP 架构)
【发布时间】:2023-03-27 21:44:02
【问题描述】:

我需要使用Comparator 对列表进行排序,这取决于Resources。列表(数据)从存储库(模型层)加载。如果我该怎么做 演示者不应访问Context?我应该注入已经创建的Comparator 吗?

new ProductsPresenter(new ProductsRepository(), productsFragment, new ProductsComparator(context))

(prodcutsFragment 是一个视图层)

  1. 正确吗?
  2. 如果 Presenter 需要使用更多的 Context 依赖类怎么办?如果我全部注入,构造函数会有很多参数。

Here 是来自 Android 蓝图的代码,例如我想添加使用 Comparator 对列表进行排序取决于资源。

【问题讨论】:

    标签: android dependency-injection mvp android-context presenter


    【解决方案1】:

    1 - 这是正确的。一个改进是使用某种依赖库,比如 Dagger,直接注入实例,所以你不必在构造函数中写 new

    2 - 恕我直言,最好的方法是直接注入类,而不使用 Context,以使您的 Presenter 与 Android SDK 解耦,这样您就可以更轻松地对其进行测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多