1、依賴倒置的相關概念
http://www.cnblogs.com/fuchongjundream/p/3873073.html
2、依賴倒置的方式
http://www.cnblogs.com/muzinian/p/3357741.html
3、主流ioc框架
http://www.cnblogs.com/bchp/articles/1527693.html
http://www.cnblogs.com/liping13599168/archive/2011/07/17/2108734.html
(1)從測試中,可以看出Autofac和StructureMap在性能上面還是體現出比較大的優勢,Ninject可以說性能上較低。而Spring.NET不僅僅專注於IOC方面,它還專注於其他方方面面的功能,所以在IOC方面的性能不是太高。另外,微軟的Unity中規中矩,性能較為穩定,也是一個不錯的選擇。
Autofac比較簡潔高效。微軟推薦使用, 微軟Orchad開源程序使用autofac。
//以下兩個注冊,在Unity中是默認的
//注冊控制器,否則不管接口注入還是屬性注入都獲取不到服務實例
Builder.RegisterControllers(typeof(MvcApplication).Assembly);
//這句可支持屬性注入
//Builder.RegisterControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired();
Container = Builder.Build();
System.Web.Mvc.DependencyResolver.SetResolver(new AutofacDependencyResolver(Container));//MVC特有的
3、unity框架學習
(1)全面系列教程
http://www.cnblogs.com/kebixisimba/archive/2008/05/19/1202467.html
(2)config配置文件方式
http://www.cnblogs.com/ruinet/archive/2010/03/16/1686480.html
(3)代碼形式注冊
http://www.cnblogs.com/Terrylee/archive/2008/02/21/unity-application-block-part1.html#!comments
4、autofac學習
Autofac是.NET領域最為流行的IOC框架之一,傳說是速度最快的一個:
優點:
- 它是C#語言聯系很緊密,也就是說C#里的很多編程方式都可以為Autofac使用,例如可以用Lambda表達式注冊組件
- 較低的學習曲線,學習它非常的簡單,只要你理解了IoC和DI的概念以及在何時需要使用它們
- XML配置支持
- 自動裝配
- 與Asp.Net MVC 3集成
- 微軟的Orchad開源程序使用的就是Autofac,從該源碼可以看出它的方便和強大
- 簡潔高效
(1) 一步一步學EF系列【6、IOC 之AutoFac】,看這篇基本夠用
http://www.cnblogs.com/liupeng/p/4806184.html
(2) autofac開發文檔
http://www.cnblogs.com/wolegequ/archive/2012/06/09/2543487.html
(3) Autofac全面解析系列(版本:3.5) – [使用篇(推薦篇):1.類型注冊]各種注冊方式
http://www.cnblogs.com/ancupofcoffee/p/5007649.html
(4) 創建實例時的生命周期選擇
http://www.cnblogs.com/jys509/p/4649798.html
5、castle系列教程
http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html
Windsor是Castle 的一個IOC容器。它構建於MicroKernel之上,功能非常之強大,能檢測類並了解使用這些類時需要什么參數,檢測類型和類型之間工作依賴性,並提供服務或者發生錯誤時提供預警的機制。