相关疑难解决方法(0)

如何避免依赖注入构造函数的疯狂?

我发现我的构造函数开始看起来像这样:

public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... )
Run Code Online (Sandbox Code Playgroud)

随着参数列表不断增加.由于"容器"是我的依赖注入容器,为什么我不能这样做:

public MyClass(Container con)
Run Code Online (Sandbox Code Playgroud)

每个班级?有什么缺点?如果我这样做,感觉我正在使用一个美化的静电.请分享您对IoC和依赖注入疯狂的看法.

c# java dependency-injection ioc-container inversion-of-control

288
推荐指数
4
解决办法
6万
查看次数

如何处理OO应用程序中的跨领域问题?使用Singleton?依赖注入?什么?

假设我正在设计一个应用程序,我需要使用全局计时系统(这是一个跨领域的问题).我需要从我的应用程序的任何地方访问来自该全球计时系统的数据,并且我不能看到"应用程序的这部分需要它而另一部分不需要".

我的问题是..我应该将其设计为一种环境语境(在这种情况下,是Singleton),还是应该尝试设计其他方式来适应这种情况?

我当然不认为让我的所有类必须通过构造函数注入将这个全局计时类传递给它们是正确的.很多时候我必须将参考文件真正传递到链中,直到某些类最终需要它.另一方面,从阅读的角度来看,它会使一切变得更加清晰(它清楚地说明了我的类的依赖性).

人们通常如何处理这个问题?有没有其他技术可以帮助解决这个问题?AOP可能吗?

PS:全球计时系统只是我从一本我正在阅读的书中获取的一个想法.日志系统将是这类问题的另一个很好的例子.

谢谢

c# java oop singleton

5
推荐指数
1
解决办法
1946
查看次数