依赖反转Ioc和unity,autofac,castle框架教程及⽐较
1、依赖倒置的相关概念
2、依赖倒置的⽅式
3、主流ioc框架
(1)从测试中,可以看出Autofac和StructureMap在性能上⾯还是体现出⽐较⼤的优势,Ninject可以说性能上较低。⽽Spring.NET不仅仅专注于IOC⽅⾯,它还专注于其他⽅⽅⾯⾯的功能,所以在IOC⽅⾯的性能不是太⾼。另外,微软的Unity中规中矩,性能较为稳定,也是⼀个不错的选择。
Autofac⽐较简洁⾼效。微软推荐使⽤, 微软Orchad开源程序使⽤autofac。
(2)
//以下两个注册,在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)全⾯系列教程
(2)config配置⽂件⽅式
(3)代码形式注册
4、autofac学习
Autofac是.NET领域最为流⾏的IOC框架之⼀,传说是速度最快的⼀个:
优点:
它是C#语⾔联系很紧密,也就是说C#⾥的很多编程⽅式都可以为Autofac使⽤,例如可以⽤Lambda表达式注册组件
较低的学习曲线,学习它⾮常的简单,只要你理解了IoC和DI的概念以及在何时需要使⽤它们
unity 教程XML配置⽀持
⾃动装配
与Asp.Net MVC 3集成
微软的Orchad开源程序使⽤的就是Autofac,从该源码可以看出它的⽅便和强⼤
简洁⾼效
(1) ,看这篇基本够⽤
(2) autofac开发⽂档
(3) 各种注册⽅式
(4) 创建实例时的⽣命周期选择
5、castle系列教程
Windsor是Castle 的⼀个IOC容器。它构建于MicroKernel之上,功能⾮常之强⼤,能检测类并了解使⽤这些类时需要什么参数,检测类型和类型之间⼯作依赖性,并提供服务或者发⽣错误时提供预警的机制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论