gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:36:34 24 4
gpt4 key购买 nike

快速提问,所以我从正确的方向开始。我有一个带有 MVC 表示层的多项目解决方案。目前这一层只知道一个 IServices 类库。现在,如果我想使用 IoC,似乎我必须开始在 MVC 应用程序的解决方案中添加对所有其他项目的引用,以便我可以配置 IoC。

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

谢谢,

詹姆士

最佳答案

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

通常,dll 加载会自动发生,而 IoC 接线以近乎硬编码的方式发生。

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

所有这些对于收缩包装软件都是有意义的,但我认为 Web 软件没有太多好处。

不引用我看到的其他库的唯一原因是确保没有人直接使用或访问其中声明的代码——这是一项乏味的任务,有时是一个不可能实现的目标,将封装移动到错误的级别。如果您的类被很好地封装,则没有必要。

关于asp.net-mvc - 在多层应用程序中使用 IoC 时避免程序集引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8328859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com