相关疑难解决方法(0)

是应该在代码或配置文件中配置Unity?

Microsoft的Unity依赖注入框架可以通过代码或通过应用程序配置文件(app.config)进行配置.

代码示例:

IUnityContainer container = new UnityContainer()
    .RegisterType<IInterface, ConcreteImplementation>();
Run Code Online (Sandbox Code Playgroud)

配置示例:

<unity>
    <containers>
        <container>
            <types>
                <type type="IInterface, MyAssembly"
                      mapTo="ConcreteImplementation, MyAssembly" />
Run Code Online (Sandbox Code Playgroud)

每种方法有哪些优点/缺点?我可以想到"用户可以轻松配置您的应用程序"的明显优势,以及"用户可以轻松破解您的应用程序"的明显缺点,但是有什么不那么明显吗?

configuration dependency-injection app-config ioc-container unity-container

16
推荐指数
2
解决办法
7387
查看次数

DI容器如何工作的最简单解释?

简单来说和/或高级伪代码,DI容器如何工作以及如何使用?

dependency-injection inversion-of-control

12
推荐指数
2
解决办法
1441
查看次数

Xml配置还是通过代码配置?

我个人喜欢从C#代码配置StructureMap的选项.根据我的理解,DI的优点之一是我们可以轻松交换新的具体实例.但是,如果配置是在代码中定义的,那么具体实例在dll中是硬编码的.

所以,实际上,它与硬件编码依赖关系一样好,对吧?我知道,在测试过程中它会让生活更轻松......

我的观点是,使用xml配置不是更好吗?你想插入一个新的具体实例?只需让安装程序用新的文件覆盖structuremap.config文件.

那么,配置StructureMap的首选方法是什么?

额外:我暂时被迫使用C#配置,因为我不知道如何将连接字符串传递给实例.我可以在配置文件中编写连接字符串,但我想重用app.config中定义的连接字符串.

structuremap dependency-injection inversion-of-control

10
推荐指数
2
解决办法
2535
查看次数

Spring依赖注入解决了什么?

请参阅此问题的最佳答案:Spring Framework究竟是什么?

我不知道问题是什么,以及为什么Spring指定在XML文件中使用接口的实现(或使用注释)的解决方案比简单地让一行代码实例化正确的接口更好?

编辑:正如我在其中一篇评论中写的那样,我真的想要了解其中的好处.我想了解为什么Spring很有用.我不是主张不使用Spring或试图提供理由而不是,我正在寻找原因,并试图理解为什么应该使用它.这篇文章并不是为了鼓励辩论,而是为了直截了当和技术性的答案.我现在选择最短和最具说明性的答案作为正确的答案.我必须说这个问题已经结束我有点惊讶.

java spring dependency-injection inversion-of-control

9
推荐指数
1
解决办法
4605
查看次数