2017-06-06 32 views
1

当浏览主应用程序引导程序时,InjectionProxy用于注册实例和接口。我注意到接口可以注册为InstanceType.SingleInstance(在Tesla应用程序中为数据库完成)或InstanceType.EachResolve。进一步研究InjectionProxy的代码表明实例始终是SingleInstanceExrin InjectionProxy实例类型的含义和用法

是什么SingleInstanceEachResolve之间的差异,我为什么会选择我,接口是一个或另一个,为什么有些情况一直被设置为SingleIstance

回答

1

SingleInstance意味着它只会创建一个类的副本,用于请求它的任何事情。

EachResolve,表示每个具有此接口的类都将注入该接口,将获得该接口的新实例。

这取决于你的应用需求。在大多数情况下,SingleInstance是你想要的,但是EachResolve是在你的情况下需要一个新的实例,而不是整个应用程序中使用的那个。