我已经使用Ninject和MVC3为构造函数参数的automagic注入。它效果很好。构造函数注入Ninject 2
你如何做与非MVC代码类似的东西。
例如:
public class Ninja
{
private readonly IWeapon _weapon;
public Ninja(IWeapon weapon)
{
_weapon = weapon;
}
public void Strike()
{
_weapon.Strike();
}
}
public class MyProgram
{
public void DoStuff()
{
var Ninja = new Ninja(); // I'm wanting Ninject to call the parameterized Ninja constructor
ninja.Strike();
}
}
我将如何改变代码,得到它的工作?
当前内核是否有全局? – 2011-05-02 22:24:49
@Adam Tegen:谢天谢地没有。搜索服务定位器反模式并阅读@Mark Seemann的最高票数答案。 (有些Ninject扩展确实有一个KernelContainer对象,但这只是在需要的基础上,绝对不是核心功能) – 2011-05-03 23:58:28
对于ASP.NET,您可能是对的。对于MVVM,我想我需要和Mark谈一谈。此外,性能有时也可以证明使用反模式。 – 2011-05-04 02:12:08