依賴反轉Ioc和unity,autofac,castle框架教程及比較


1、依賴倒置的相關概念

http://www.cnblogs.com/fuchongjundream/p/3873073.html

IoC模式(依賴、依賴倒置、依賴注入、控制反轉)

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。

(2)autofac與unity注冊類型的幾個小區別

//以下兩個注冊,在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之上,功能非常之強大,能檢測類並了解使用這些類時需要什么參數,檢測類型和類型之間工作依賴性,並提供服務或者發生錯誤時提供預警的機制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM