相关疑难解决方法(0)

为什么我需要一个IoC容器而不是直接的DI代码?

我一直在使用依赖注入(DI)一段时间,在构造函数,属性或方法中注入.我从未觉得需要使用控制反转(IoC)容器.但是,我读的越多,我觉得社区使用IoC容器的压力就越大.

我使用.NET容器,如StructureMap,NInject,UnityFunq.我仍然没有看到IoC容器如何使我的代码受益/改进.

我也害怕在工作中开始使用容器,因为我的许多同事都会看到他们不理解的代码.他们中的许多人可能不愿意学习新技术.

请说服我需要使用IoC容器.当我在工作中与开发人员交谈时,我将使用这些论点.

dependency-injection ioc-container inversion-of-control

598
推荐指数
18
解决办法
25万
查看次数

PHP的控件容器的反转?

我正在尝试用PHP编写TDD样式,而我最大的绊脚石之一(除了缺乏一个像样的IDE)是我必须将我自己的黑客攻击IoC容器才能正确地注入我所有的模拟对象.

有没有人在PHP中使用过Ioc容器?我所能找到的就是PHP IOC上那些烦人的phpclasses.org,它似乎几乎没有任何文档,也没有太多关注.

php frameworks

20
推荐指数
2
解决办法
1万
查看次数

依赖注入:如何通过注射容器?

(这个问题不依赖于特定的IoC框架,因此我的示例中的接口和类型是元类型.只需用适合您喜欢的IoC框架的类型替换它们.)

在我的主要方法中,我通常设置我的容器做这样的事情:

static void Main()
{
    IInjector in = new Injector();
    in.Register<ISomeType>().For<SomeType>();
    in.Register<IOtherType().For<OtherType>();
    ...

    // Run actual application
    App app = in.Resolve<App>();
    app.Run();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,你是如何得到注射器的?我通常只是自己注册了注射器并注入了自己注射的类型,但我不确定这是否是正确的"模式".

.net c# dependency-injection inversion-of-control

7
推荐指数
1
解决办法
1450
查看次数