我现在面临着将控制反转(IoC)容器集成到现有应用程序中的问题,并且我正在寻找一些建议,以最容易实现的最终目标是减少耦合,从而提高可测试性。尽管我通常不会将大多数类归类为上帝对象,但每个类都有太多的职责,并且由于静态,单例和缺乏接口而隐藏了依赖性。
这里有一些背景需要解决的挑战:
- 很少使用依赖注入
- 静态方法比比皆是-无论是工厂方法还是辅助方法
- 单身人士相当普遍
- 接口在使用时不太细
- 对象经常通过基类引入不需要的依赖
我们的意图是,下次我们需要在特定区域中进行更改时,我们将尝试弄清实际上存在的但隐藏在诸如单例和静态变量之类的全局变量之后的依赖项。
我想这会使IoC容器在引入依赖项注入之后成为第二位,但是我希望可以遵循或考虑到一系列实践和建议,以帮助我们打破这些依赖关系。