使用Ninject进行DI(依赖注入)
Posted 漂泊雪狼的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Ninject进行DI(依赖注入)相关的知识,希望对你有一定的参考价值。
Ninject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。
它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。
下面是一个简单的调用示例:
定义接口与基础类
interface IDocumentDAL { string Save(Document Entity); } public class Document { public int Id { get; set; } public string Title { get; set; } public DateTime CreateTime { get; set; } }
public class SqlDocumentDAL : IDocumentDAL { public string Save(Document entity) { return string.Format("id={0},Title={1},CreateTime={2}", entity.Id, entity.Title, entity.CreateTime); } }
强耦合方式调用:
Document doc = new Document { Id = 1, Title = "测试标题1", CreateTime = DateTime.Now }; IDocumentDAL dal = new SqlDocumentDAL(); string result = dal.Save(doc); Console.WriteLine(result);
使用Ninject进行DI方式的调用:
Document doc = new Document { Id = 1, Title = "测试标题1", CreateTime = DateTime.Now }; IKernel ninjectKernel = new StandardKernel(); ninjectKernel.Bind<IDocumentDAL>().To<SqlDocumentDAL>(); IDocumentDAL dal = ninjectKernel.Get<IDocumentDAL>(); string result = dal.Save(doc);
以上是关于使用Ninject进行DI(依赖注入)的主要内容,如果未能解决你的问题,请参考以下文章