当查看主应用程序引导程序时,InjectionProxy用于注册实例和接口。我注意到,接口可以注册为InstanceType.SingleInstance (为特斯拉应用程序中的数据库完成)或InstanceType.EachResolve。进一步深入研究InjectionProxy代码表明,实例始终是SingleInstance。
SingleInstance和EachResolve之间有什么区别,为什么我选择接口为一个或另一个,为什么实例总是设置为SingleIstance
发布于 2017-06-07 01:29:30
SingleInstance意味着它将只创建类的一个副本,用于任何请求它的东西。
EachResolve,意味着将该接口注入其中的每个类都将获得该接口的一个新实例。
这取决于你的应用程序想要什么。在大多数情况下,SingleInstance是您想要的,但是如果您的情况需要一个新实例,而不是整个应用程序使用的相同实例,EachResolve就在那里。
https://stackoverflow.com/questions/44397074
复制相似问题