ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#-Winforms插件体系结构中的IOC

2019-12-01 21:07:49  阅读:291  来源: 互联网

标签:dependency-injection tdd c net inversion-of-control


我正在使用具有主程序的体系结构.当它开始时,它通过反射在执行路径中查找从基类继承的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有