注册统一或添加作为参考
本文关键字:参考 添加 注册 | 更新日期: 2023-09-27 18:09:12
我有3个模块在我的应用程序。和1 ServiceLibrary。
Module1
Module2
Module3
ServiceLibrary
ServiceLibrary将在Bootstrapper添加模块时注册到Unity,因此ServiceLibrary在Module1中注册到Unity。如:
_container.RegisterType<ISystemService>,ServiceLibrary>();
并且该服务也可以被所有其他模块调用。因此,当它被调用时,例如Module2它会解析并在Module2中使用它,例如
ISytemService myserv=_container.Resolve<ISystemService>("ServiceLibrary");
那么哪种方法对性能更好呢?
添加ServiceLibrary作为对模块的引用,或者在需要使用时从Unity中解析它。在项目中有超过100个这样的服务库。
Module1, Module2, Module3 &ServiceLibrary应该引用一个单独的程序集,其中包含IServiceLibrary
和WellKnownService名称列表,具体的实例应该使用Unity获得:
ISytemService myserv=_container.Resolve<ISystemService>(WellKnownNames.ServiceLibrary);
将模块中的引用添加到ServiceLibrary
中删除了使用像Unity这样的IoC容器的全部要点。