相关疑难解决方法(0)

如何在.NET中处理构造函数的过度注入

如果这个问题已经讨论过,我很抱歉,但我并没有真正找到我想要的东西.我面临的问题更多是关于模式和设计选择而不是.NET本身.我想建议你知道从哪里开始我的重构.

今天我在我的实际应用程序中打开了一个类,发现它有13个由构造函数注入的依赖项!实际上,每个开发人员都在他正在编写的方法中添加了所需的依赖性.

我对DI的理解之一是,当我们通过构造函数注入依赖项时,它意味着它是一个强制依赖项,应该在类的所有方法中使用.如果我们只需要给定类的一个方法中的特定依赖项,它对您意味着什么?

  • 给定的课程做得太多了?我应该考虑创建一个只需要依赖的新类型?
  • 我应该按财产注入?但在那个特定的方法中,依赖是强制性的,所以我认为这不是一个好的选择.
  • 我应该通过方法注入?

找到合适的平衡点很困难.实际上,有时候不可能以干净的方式封装bahaviour.

我正在考虑创建像服务聚合器这样的东西来隐藏其中一个相关的依赖关系,但是如果你有其他建议的话.提前致谢.

language-agnostic dependency-injection

12
推荐指数
3
解决办法
1844
查看次数