我需要根据Comparator
使用Resources
对列表进行排序。列表(数据)是从存储库(模型层)加载的。如果出现以下情况,我该怎么办
演示者不应该访问Context
?我应该注入已经创建的Comparator
吗?
new ProductsPresenter(new ProductsRepository(), productsFragment, new ProductsComparator(context))
(prodcutsFragment是一个View层)
Context
依赖类,该怎么办?如果将它们全部注入,则构造函数将具有很多参数。 Here是Android蓝图中的代码,例如,我想根据资源来添加Comparator
对列表进行排序。
答案 0 :(得分:0)
1-是的。一种改进是使用某种依赖库(例如Dagger)直接注入实例,因此您不必在构造函数中编写new
2-恕我直言,最好的方法是直接插入类,而无需使用Context
,以使Presenter
与Android SDK脱钩,因此您可以更轻松地对其进行测试