dependency-injection - 大型项目中的最佳 IoC 实践

标签 dependency-injection inversion-of-control

您发现哪些技术对于使用控制反转容器管理大型项目的依赖项很有用?

你是把所有东西都放在一个地方,还是把它分开?

你曾经使用过多个容器吗?

最佳答案

从架构的角度来看,重要的是要保持对您Composition Root 的位置的敏锐关注。是。它应该尽可能靠近应用程序的入口点,您应该在一个地方组成整个依赖图。

否则可能会造成对职责的混淆,并且您也有引入各种微妙错误的风险,因为在一个地方解析的 IFoo 实例可能与在另一个地方解析的 IFoo 实例相同,也可能不同。

如果应用程序太大以至于一次性解析整个依赖图的成本高得令人望而却步,您可以使用 lazy loading lifetimes 来解决这个问题。在战略要地(大约 Aggregate Services)。

从概念上讲,我总是只有 单个容器 . (我偶尔会使用多个父/子容器来打破一些循环依赖,但这是一个实现细节。)

关于dependency-injection - 大型项目中的最佳 IoC 实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461201/

相关文章:

c# - Autofac 随机无参数公共(public)构造函数。错误

java - 构造函数中的依赖注入(inject)

dependency-injection - Dynamo IoC 是否适用于 MonoTouch 和 MonoDroid?

php - 了解 IoC、DI 和引用方法

dependency-injection - 构建高度可配置的软件产品的最佳实践

c# - 解决自动和手动依赖关系

java - 建议将多个服务注入(inject)到一个类中吗?

asp.net-mvc - IoC 会导致 ASP.NET MVC Controller 构造函数的参数过多吗?

c# - CaSTLe Windsor Inversion of Control (IoC) : using the Web. 配置解决依赖关系

dependency-injection - 我应该在哪里存储对我的 DI 容器的引用?