C#-Winforms插件体系结构中的IOC
作者:互联网
我正在使用具有主程序的体系结构.当它开始时,它通过反射在执行路径中查找从基类继承的DLL.这些是插件.
当对新项目提出新要求时,通常会创建一个新插件.该插件具有主插件类,然后可能具有许多其他类和Windows窗体.
主要的插件类具有initialize方法,但是作为其类库,没有program.cs可以说是依赖关系的结合.
有没有一种方法可以通过app.config来连接依赖关系,或者您认为我应该避免使用IOC容器,而在插件类中只有一个工厂方法来以某种方式连接依赖关系?
问题是我可能无法更改主应用程序的代码来设置IOC容器
解决方法:
所有主要的IoC容器都可以通过app.config或通过程序集发现机制(如您所述)连接依赖项.通常,主应用程序会设置容器,然后根据该容器来查找插件(可以通过配置或如上所述的组装探测来配置插件).
对于SpringFramework.net,以app.config为例:http://www.springframework.net/doc-latest/reference/html/objects.html#d4e437
对于温莎城堡,装配探测的示例:http://stw.castleproject.org/Windsor.Installers.ashx
标签:dependency-injection,tdd,c,net,inversion-of-control 来源: https://codeday.me/bug/20191201/2083352.html