Ninject

這兩天接觸到新項目 裏面有Ninject的使用,便開始記錄一下Ninject工具

查詢了資料設計

首先須要瞭解DI(IOC)  對象

IOC 控制反轉  全稱Inverse Of Control  也就是控制反轉了,反轉後再也不由本身自己的對象進行控制這個內置對象的建立,而是由第三方系統去控制這個內置對象的建立。接口

DI(依賴注入) 全稱Dependency Injection  自身對象中的內置對象是經過注入的方式進行建立。io

IOC 一種軟件設計思想,DI 軟件設計思想的實現 容器

在外界建立一個接口的實現類對象,不須要修改類內部的方法。就是把原本在類內部控制的對象,反轉到類外部進行建立後注入,再也不由類自己進行控制。軟件

DI  是一個軟件設計方面的技術,經過管理依賴組件,提升軟件應用程序的可維護性。配置

定義一個木匠類(Carpenter) 木匠對象有工具Saw對象,木匠有創造椅子MakeChair方法。依賴注入

MakeChair方法使用Saw對象的Cut方法來製做椅子service

DI容器用來解決依賴複雜性問題,在DI容器裏決定抽象類須要選擇哪個具體類實例化對象,這個決定依賴於一個映射表---能夠用配置文件定義,也能夠用代碼定義

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

Bind<ILogger>().To<ConsoleLogger>(); 這是代碼定義
相關文章
相關標籤/搜索