当前位置: 首页 > 编程语言 > C#

将IoC容器引入遗留代码共享

时间:2023-04-10 17:37:34 C#

将IoC容器引入遗留代码我正在编写一个新的.NET库供我公司内部使用,它将通过依赖注入使用IoC。当然,如果我们使用IoC容器来解析实例,这个库会更容易使用。但是,将调用此库的代码目前不使用任何类型的依赖项注入,并且重构遗留代码以使用DI超出了我的项目范围。那么,在这个遗留代码中开始使用Container从我的新库中获取实例的最佳方式是什么?如果可能的话,我想避免乱扔遗留代码,硬编辑我选择的任何IoC容器。由于我对DI比较陌生,我们可能会在某个时候改变我们想要使用哪个容器的想法。如果我将我的容器包装在CodePlex上的CommonServiceLocator库中,这是一种合理的方法吗?其他人做了什么?您可以使用外观/代理模式从旧容器中隐藏DI容器。您基本上是将您的遗产硬连接到您实现的自定义类,该类将了解DI容器。现在,如果您修改DI,您更新外观而不是遗留代码。我没有对CommonServiceLocator做很多研究,但它的前提可能是一个很好的解决方案。您可能希望将外观与CSL联系起来,这将完全隐藏旧概念中的DI概念。根据我对您问题的理解,您想从遗留代码中调用支持DI的代码。最好的选择是保持新库DI友好,但与容器无关。通过这样做,您提供了一个可供遗留代码使用的简单外观。遗留应用程序不需要使用任何DI容器,也不需要使用CommonServiceLocator。以上就是C#学习教程:IntroducingtheIoCcontainerinto老版本代码分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: