首页 > Windows开发 > 详细

C# 读Autofac源码笔记(1)

时间:2018-07-09 14:00:27      阅读:182      评论:0      收藏:0      [点我收藏+]

最近在看Autofac的源码。
Autofac据说是.net中最快的IOC框架,具体没有实验,于是看看Autofac具体是怎样实例化实体。

 
技术分享图片
image.png

如上图所示,Autofac使用的是表达式树来创建实体。
Expression Tree创建实体的性能比Activator.CreateInstance要高。
网上有人做过测试,这里我将链接贴在此Activator.CreateInstance与ExpressionTree创建实体性能对比

 

我们再来看看,autofac中构造函数注入是如何实现的。
看下面这张图片


 
技术分享图片
image.png

这段代码是生成实体前,先根据实体类型获取构造函数参数,并尝试获取参数的值。那参数的值是怎么获取的呢。再看下面这张图:


 
技术分享图片
image.png

这个方法,是根据参数类型,到注册的组件集合中获取类型相同的实体。最终还是用上面的表达式树,将参数传入实体中。

未完待续...


 

C# 读Autofac源码笔记(1)

原文:https://www.cnblogs.com/czly/p/9283403.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!