我正在使用DI容器作为入口点创建服务。
我的解决方案越来越重,迫使我不得不思考如何以良好的方式进行统一注册。
我有几个带有逻辑的其他dll服务。目前,仅在完成所有注册的Service中安装Unity。
我的服务需要引用DI注册所需的所有dll,以及DI中引用的dll安装和使用的所有nuget。
它最终在Service中带有非常沉重的package.config,仅DI注册才需要它,并且很难识别服务本身使用了什么,没有使用了什么。
我想知道是否还有其他更简洁的方法来进行注册,而无需在主要项目中使用大量引用,并且不会同时取消良好实践角色。
我想出了两种解决方案: 1-仅为UnityConfiguration创建单独的dll,我在那里有一个公共静态类,如:UnityConfiguration.RegisterComponents(),将由Service调用。在该解决方案中,我仍然会引用所有内容,但至少会与主要服务分开……
2-可能不受任何人支持的解决方案(也由我本人支持):我将使用逻辑将Unity安装在每个dll中,并且每个dll都有自己的静态类UnityConfiguration.RegisterComponents(),并且主服务将调用所有这些注册,都不知道类型...
可以请您分享您的选择吗?我真的对您的意见感兴趣...