您的位置:首页 > 其它

轻量级Ioc框架Ninject简介

2010-07-16 10:05 344 查看
Ninject是一个微型的Ioc框架,主文件dll只有94k,最新版本2.0

请下载:Ninject-2.0.0.0-release-net-3.5.zip

使用方式有两种,一种是继承进行Ioc:

定义接口:

interface ILog{

void Write(string msg);

}

实现接口:

class HahaLog:ILog

{

public void Write(string msg)

{

Console.WriteLine("HahaLog:{0}", msg);

}

}

声明Module:

class MyModule1 : NinjectModule

{

public override void Load()

{

Bind<ILog>().To<HahaLog>();

}

}

使用:

static void test1()

{

IKernel kernel = new StandardKernel(new MyModule1());

ILog log = kernel.Get<ILog>();

log.Write("测试一");

}

结果:


1001.png (大小:3.8 K 下载次数:0)



依赖注入:

class MyTest

{

[Inject]

public HahaLog HahaLog { get; set; }

public void Test()

{

HahaLog.Write("测试一下");

}

}

在需要注入的属性前面加上 [Inject]注解,属性必须是公有

创建Module类

class MyModule2 : NinjectModule

{

public override void Load()

{

Bind<MyTest>().ToSelf();

}

}

测试:

static void test2()

{

IKernel kernel = new StandardKernel(new MyModule2());

MyTest test = kernel.Get<MyTest>();

test.Test();

}

结果:


1002.png (大小:3.7 K 下载次数:0)



如果要用单例模式只需要:

class MyModule2 : NinjectModule

{

public override void Load()

{

Bind<MyTest>().ToSelf().InSingletonScope();

}

}

哈哈!OK了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: