Ninject的简单介绍

     Ninject,是一个IOC的工具,就是我们经常说的控制反转。

    IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。

     先说下我对这个工具的感受:老是配置,烦死人了,什么XML,什么配置都没代码写的舒服,痛快。嘿嘿。。。 因为每次在定义Type类型的时候,还得去找下这个Assembly的签名。。。好累。这个工具可以让你的注入配置模块化。其他的好处自己体会拉。

    官网打出了这几个口号:

  •    Bend software to your will : 改变你的软件,更加的松耦合、高内聚
  •    Laugh in the face of change : 微笑着面对改变
  •    Use your sharpest tools :
  •    Write smarter software everywhere  :可以在任何地方运行,它是轻量级的。
  •    Be fast, be agile, be precise  :快,灵活,准确

 

通常情况下我们会这么写我我们的代码:

public class Samurai {
    public IWeapon Weapon { get; private set; }
    public Samurai(IWeapon weapon) 
    {
        this.Weapon = weapon;
    }
}

通过Ninject,构造函数中赋值的问题可以这样解决。

public class WarriorModule : NinjectModule
{
    public override void Load() 
    {
        this.Bind<IWeapon>().To<Sword>();
    }
}

注:Sword是实现IWeapon的一个类。

舒服不?是否有点心动了吧。好吧,就是作为菜鸟的你,最少应该知道get;set;方法其实可以添加修饰符的。^_^别在写一个私有字段了哦,看见好多了,纠结,虽然我也曾经这么做过。。。。

posted @ 2012-03-22 22:59  陈卓杰  阅读(428)  评论(0编辑  收藏  举报