首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Register<T>中,一种类型的参数而不是两种参数类型Register<T,U>的意义是什么?

问在Register<T>中,一种类型的参数而不是两种参数类型Register<T,U>的意义是什么?
EN

Stack Overflow用户
提问于 2020-08-21 16:25:45
回答 1查看 81关注 0票数 0

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

代码语言:javascript
复制
myContainer.Register<I1,A>();

从现在开始,I1类型的参数(在ctors中)将得到A的实例--这很好。我们不需要处理创建,依赖注入容器将为我们带来我们需要的东西(不管它是否是Singleton )。

我不明白的是

代码语言:javascript
复制
myContainer.Register<B>();

我们没有将任何接口映射到这个具体类型的 B。

它有什么用?

EN

回答 1

Stack Overflow用户

发布于 2020-08-21 16:43:24

您不需要接口来进行依赖注入。但是依赖注入对它们更有用!

您可以在服务集合中注册具体类型,而ASP.NET核心可以将它们插入到类中,而不会出现问题。

通过简单地创建实例注入它们所获得的好处

你应该这么做吗?不是的。

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

就像用固体描述的

应该“依赖于抽象,而不是,而不是,”

。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63526612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档