美文网首页
读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)

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