依赖反转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特有的

 

4、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

5、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

6、castle系列教程

http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html

Windsor是Castle 的一个IOC容器。它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服务或者发生错误时提供预警的机制。

 

转载于https://www.cnblogs.com/taoshengyujiu/p/7436475.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注