[英]Resources/App Context in Presenter (MVP architecture)
我需要使用Comparator
对列表进行排序,该列表取决于Resources
。 列表(数据)是从存储库(模型层)加载的。 如果演示者不应该访问Context
怎么办? 我应该注入已经创建的Comparator
吗?
new ProductsPresenter(new ProductsRepository(), productsFragment, new ProductsComparator(context))
(prodcutsFragment是一个View层)
Context
类,该怎么办? 如果将它们全部注入,则构造函数将具有很多参数。 这是Android蓝图中的代码,例如,我想根据资源来添加使用Comparator
对列表进行排序。
1-是的。 一种改进是使用某种依赖库(例如Dagger)直接注入实例,因此您不必在构造函数中编写new
2-恕我直言,最好的方法是在没有Context
情况Context
直接注入类,以使Presenter
与Android SDK脱钩,因此您可以更轻松地对其进行测试
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.