在依赖项注入中,我理解为什么我们需要带有2个类型参数的寄存器()。
myContainer.Register<I1,A>();从现在开始,I1类型的参数(在ctors中)将得到A的实例--这很好。我们不需要处理创建,依赖注入容器将为我们带来我们需要的东西(不管它是否是Singleton )。
我不明白的是
myContainer.Register<B>();我们没有将任何接口映射到这个具体类型的 B。
它有什么用?
发布于 2020-08-21 16:43:24
您不需要接口来进行依赖注入。但是依赖注入对它们更有用!
您可以在服务集合中注册具体类型,而ASP.NET核心可以将它们插入到类中,而不会出现问题。
通过简单地创建实例注入它们所获得的好处
你应该这么做吗?不是的。
依赖注入是依赖反转原理的一种工具:https://en.wikipedia.org/wiki/Dependency_inversion_principle
就像用固体描述的
应该“依赖于抽象,而不是,而不是,”
。
https://stackoverflow.com/questions/63526612
复制相似问题