加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在多层应用程序中使用IoC时避免程序集引用

发布时间:2020-12-16 09:35:53 所属栏目:asp.Net 来源:网络整理
导读:快速提问,让我从正确的方向着手.我有一个带有MVC表示层的多项目解决方案.目前,该层只知道IServices类库.现在,如果我想使用IoC,我似乎必须开始在MVC应用程序的解决方案中添加对所有其他项目的引用,以便我可以配置IoC. 这是正确的还是每层都有自己的IoC? 谢谢
快速提问,让我从正确的方向着手.我有一个带有MVC表示层的多项目解决方案.目前,该层只知道IServices类库.现在,如果我想使用IoC,我似乎必须开始在MVC应用程序的解决方案中添加对所有其他项目的引用,以便我可以配置IoC.

这是正确的还是每层都有自己的IoC?

谢谢,

詹姆士

解决方法

有人必须加载.dll文件,有人能够连接IoC.

通常,dll加载自动发生,IoC接线以几乎硬编码的方式发生.

您可以动态加载库:您可以编写试图加载给定文件夹中的每个dll并调用某种GetLibraryDescriptor方法的代码.该方法告诉您该库为ISomeInterface提供了一个实现.现在你可以让dll实例化它提供的那个类的对象.您可能必须将此实例化桥接到IoC.我相信这样的设计更适合服务定位器.

所有这些对于收缩包装软件都有意义,但我没有看到网络软件有很多好处.

不参考我看到的其他库的唯一原因是确保没有人直接使用或访问在那里声明的代码 – 一项繁琐的任务,有时不可能将封装移到错误的级别.如果您的类是封装良好的,那么就没有必要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读