我将在我的项目中使用Anvil。
https://github.com/square/anvil
但我无法弄清楚它所需的使用模式是什么?我应该有一个全局AppScope:core
并将每个模块的所有绑定合并:feature
到其中吗?因此,每个:feature
模块都将其绑定添加到AppScope中,因此每个模块都:feature
知道有关任何其他模块的一切:feature
。这听起来很混乱,对吗?
我没有看到任何有依赖范围的可能性。例如,MyFeatureScope依赖于AppScope。因此,只有特定:feature
模块实际上将其绑定贡献到MyFeatureScope中,但它们仍然可以使用AppScope中的通用绑定。
Anvil是否支持其范围之间的此类依赖关系?
我应该有一个全局AppScope吗?或者我应该有一组独立的作用域 - 每个:feature
模块一个 - 可以以某种方式依赖于带有“公共绑定”的AppScope?