美文网首页
读Autofac源码笔记(1)

读Autofac源码笔记(1)

作者: czly | 来源:发表于2017-03-06 15:16 被阅读0次

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

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

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


image.png

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


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

未完待续...

相关文章

  • 读Autofac源码笔记(1)

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

  • 读Autofac源码笔记(2)

    刚看了下Autofac属性注入的源码首先看看WithProperty方法 Autofac将我们的属性值,存在了一个...

  • xgboost和lda学习

    XGBoost 源码阅读笔记 ( 1 ) :代码逻辑结构 XGBoost 源码阅读笔记(2):树构造之 Exact...

  • 聊聊在AOP模式下的缓存方案

    面向方法的数据集缓存 使用了autofac做为ioc容器,使用Autofac.Extras.DynamicProx...

  • 源码笔记-应用启动流程

    源码笔记-应用启动流程 标签(空格分隔): android 源码 framwork 1、ActivityManag...

  • fragment

    Android fragment源码全解析 Android源码阅读笔记(1)----Fragment 关于Frag...

  • Autofac 的 Autofac.Engine

    参考:Autofac中文文档 在以前的项目中使用Autofac 需要new 一个 ContainerBuilder...

  • .NET 5中 Autofac 的使用

    DI 依赖注入、IOC 控制反转以及 AOP 切面编程 Autofac 容器 Autofac 是一款.NET Io...

  • Java技术学习方法论

    1. 教程:安装,示例(现象),用法的讲解 2. 进阶 如何读源码: 1.承认读源码很困难 2.读源码其实是要理解...

  • Autofac的简单封装

    将Autofac集成到自己的框架项目中,对Autofac进行了简单的封装,方便调用。 public class I...

网友评论

      本文标题:读Autofac源码笔记(1)

      本文链接:https://www.haomeiwen.com/subject/bmcugttx.html