c# - 复杂项目中统一组件注册的最佳解决方案结构是什么?
问题描述
我正在创建使用 DI 容器作为入口点的服务。
我的解决方案越来越重,这迫使我思考如何以良好的方式进行统一注册。
我有服务与其他几个具有逻辑的dll。就目前而言,Unity 仅安装在完成所有注册的 Service 中。
我的服务需要引用 DI 注册所需的所有 dll,以及 DI 中被引用的 dll 安装和使用的所有 nuget。
最后,Service 中的 packages.config 非常繁重,仅在 DI 注册时才需要,而且很难识别服务本身使用了什么,什么没有使用。
我想知道是否有其他方式,更清洁的方式来进行注册,而无需在主要项目中大量引用列表,并且不会同时破坏良好的实践角色。
我想出了两个解决方案: 1 - 仅为 UnityConfiguration 创建单独的 dll,我可以有一个公共静态类,例如:UnityConfiguration.RegisterComponents() 将由服务调用。在那个解决方案中,我仍然会有大量的所有东西的参考清单,但它至少会与主要服务分开......
2 - 可能不会被任何人(我也是)支持的解决方案:我会在每个带有逻辑的 dll 中安装 Unity,每个 dll 可以有自己的静态类 UnityConfiguration.RegisterComponents() 并且主服务将调用所有注册不知道类型...
你能分享一下你会走的路吗?我对你的意见很感兴趣...
解决方案
推荐阅读
- android - 为什么通知中的库存图像资源模糊?
- react-native - 是否可以使用 React Navigation 在一个屏幕上呈现两个标题?
- php - PHP 对于对象中的每个值
- reactjs - 反应:element.getBoundingClientRect 不是函数
- angular - Cannot resolve tsconfig paths
- linux - (standard_in) 1:bc 在 if 内时出现语法错误
- git - git cherry-pick 较早的补丁集版本
- r - 将 flextable 转换为 grobTable
- amazon-web-services - 如何安排 AWS 中的 IOT 作业在特定时间运行?
- sql-server - sql迁移后应用程序急剧变慢