寄存器中的一个类型参数<T>而不是两个参数类型寄存器<T,U>有什么意义?



在依赖项注入中,我理解为什么我们需要带有2个类型参数的Register((。

myContainer.Register<I1,A>();

从现在起,I1类型的参数,以ctors为单位,将得到A的实例。太棒了。我们不需要处理创建,依赖注入容器将为我们带来所需的东西(无论它是否是Singleton(。

现在,我不明白的是

myContainer.Register<B>();

我们没有将任何接口映射到此具体类型B.

它有什么用?

依赖项注入不需要接口。但是依赖注入对它们更有用!

您可以向服务集合注册具体类型,ASP.NET Core将毫无问题地将它们注入到类中。

与简单地创建实例相比,通过注入它们可以获得的好处

你应该这么做吗?编号

依赖注入是实现依赖反转原理的工具:https://en.wikipedia.org/wiki/Dependency_inversion_principle

如SOLID 中所述

应该"依赖抽象,而不是具体化。">

相关内容

  • 没有找到相关文章

最新更新