匕首最佳实践

时间:2016-03-15 09:59:36

标签: android dagger

我试图找出匕首并且很难掌握对象图的概念。 我对依赖注入范例并不陌生,我在JavaScript中使用angular.js,在.Net中使用prism。所以我理解它背后的想法。

  1. 我似乎无法理解的是对象图是否应该是一个单独的图形,这意味着应该从所有应用程序中注入一个,并且应该从中注入所有依赖项,或者我应该为每个模块创建一个。 / LI>
  2. 我想创建一个带有注入类的类的实例,那么我应该使用现有的对象图还是创建一个新的对象图?
  3. 创建多个mudules的最佳做法是什么?我应该将每个模块的对象图创建为单例吗?为每个类应该使用的所有应用创建一个对象图?或者我应该在每次需要新实例时创建新的对象图?
  4. 由于

1 个答案:

答案 0 :(得分:1)

将对象图或组件(如果使用dagger2)视为对象范围的一种方式。你提到你使用.Net所以我假设你熟悉范围。我建议不要为每个模块创建一个图形,而是为每个模块创建一个对象图。常见的模式是具有应用程序范围,然后将活动图/组件“加”到应用程序范围。每个组件可以包含1到多个模块。模块更像是一种将依赖关系分割成不同文件的方法(甚至认为它们可能仍然在同一个组件中)。 CodePath在Dagger上有一个非常好的介绍,包括进入范围以及每个组件的多个模块。祝你好运! https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2