我正在处理 DotNetNuke 模块中的遗留代码,试图在测试框架下获取类和行为:我借此机会遵循“有效使用遗留代码”一书中的建议,所以发生的事情是我m 试图定义可以彻底测试然后转换为服务的区域。然后我想使用一个 IoC 框架来工作。目前,我已经将目光投向了 Ninject。
但是我遇到了一个设计问题:因为我在 DotNetNuke 模块中,所以我无法真正更改应用程序范围的结构:例如,我无法从 NinjectHttpApplication 派生应用程序。我也不能使用来自 SO 的这些建议。我正在考虑将内核放在我的模块将设置然后使用的静态类中,但从我所阅读的内容来看,这是一个非常糟糕的主意。
所以我开始问自己是否可以在尚未设置为从头开始支持它的应用程序中使用 IoC。如果我应该为每个请求加载一个完整的依赖树,我如何在本地重写遗留代码并从 IoC 中受益?是否有一种模式可以使 IoC 的使用可以从非常本地的重写中发展出来?
即使我正在使用 DotNetNuke,任何可以安装到独立框架中的独立组件都会引发同样的问题。我也没有专门针对 Ninject,如果另一个 IoC 框架可以在这种情况下提供帮助,我愿意考虑。