这两天接触到新项目 里面有Ninject的使用,便开始记录一下Ninject

查询了资料

首先需要了解DI(IOC)  

IOC 控制反转  全称Inverse Of Control  也就是控制反转了,反转后不再由自己本身的对象进行控制这个内置对象的创建,而是由第三方系统去控制这个内置对象的创建。

DI(依赖注入) 全称Dependency Injection  自身对象中的内置对象是通过注入的方式进行创建。

IOC 一种软件设计思想,DI 软件设计思想的实现 

在外界创建一个接口的实现类对象,不需要修改类内部的方法。就是把本来在类内部控制的对象,反转到类外部进行创建后注入,不再由类本身进行控制。

DI  是一个软件设计方面的技术,通过管理依赖组件,提高软件应用程序的可维护性。

定义一个木匠类(Carpenter) 木匠对象有工具Saw对象,木匠有创造椅子MakeChair方法。

MakeChair方法使用Saw对象的Cut方法来制作椅子

DI容器用来解决依赖复杂性问题,在DI容器里决定抽象类需要选择哪一个具体类实例化对象,这个决定依赖于一个映射表---可以用配置文件定义,也可以用代码定义

<bind service="ILogger" to="ConsoleLogger" />  这是配置文件中配置

Bind<ILogger>().To<ConsoleLogger>(); 这是代码定义