匕首最佳实践

问题描述:

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

  1. 似乎我无法理解的是对象图是否应该是实际上是一个曲线图,这意味着一个在所有的应用程序和所有的依赖关系应该从它被注入或者我应该创建一个为每个模块。
  2. 我想用injectable创建一个类的实例,那么我应该使用现有的对象图还是创建一个新的?
  3. 创建多个mudules的最佳实践在哪里?我应该创建每个模块的对象图作为一个单身?为每个类应该使用的所有应用程序创建一个对象图?或者我应该每次创建一个新的对象图时,我需要一个新的实例?

由于

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