轻量级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了!
请下载: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了!
相关文章推荐
- 在WCF中使用Ninject轻量级IOC框架 之 SOAP风格服务
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 【转】轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject (上)
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 在WCF中使用Ninject轻量级IOC框架 之 SOAP风格服务
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject
- 轻量级IOC框架:Ninject (下)
- 架构探险读书笔记——自己搭建轻量级javaWeb框架之MVC和IOC
- Spring简介,搭建Spring环境——轻量级容器框架(一)
- Spring 系列: Spring 框架简介- Spring AOP 和 IOC 容器入门
- IOC框架Castle Windsor 微软企业库中的Unity Spring.NET StructureMap Ninject性能比较
- Spring 系列: Spring 框架简介----Spring AOP 和 IOC 容器入门
- 轻量级IOC框架SwiftSuspenders