我正在阅读Autofac官方文档中的Implicit Relationship Types部分,但我真的不明白这一行。
使用此关系类型可以尊重终身范围。
谁能帮助我解释一下“受尊重”究竟意味着什么?
先谢谢!!!
答案 0 :(得分:1)
'尊重'意味着当您使用动态实例化时,Autofac不会覆盖您的注册。
接下来的两行详细阐述:
如果您将对象注册为
InstancePerDependency()
并多次调用Func<B>
,则每次都会获得一个新实例。但是,如果将对象注册为SingleInstance()
并调用Func<B>
多次解析对象,则每次都会获得相同的对象实例。
引自提问者的评论:
我理解接下来的两行中的详细解释,并且我已经为此编写了演示,但是与生命范围的连接是什么?我能否理解终身范围很重要,并会影响实例化?
与生命周期范围的连接:
当你依赖注入一个对象时,我会给你一个新对象或 单身吗?
为什么生命周期范围很重要并会影响实例化:
对象是否具有不应在其他地方访问的实例属性?如果我给你一个新对象,它是否应该是应用程序生命周期的剩余部分?