在依赖项注入中,我理解为什么我们需要带有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 中所述
应该"依赖抽象,而不是具体化。">