编程语言
首页 > 编程语言> > C#-Winforms插件体系结构中的IOC

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