首页 > 代码库 > 使用Ninject进行DI(依赖注入)

使用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(依赖注入)