Loading

随笔分类 -  DI

摘要:最后来看看前面一直说的 Engine(工作引擎) ,工作引擎接口是 在`ServiceProvider IServiceProviderEngine`接口和其实现类的整体结构 IServiceProviderEngine类型继承关系 继承了 接口,也就是说工作引擎也具有 GetService() 方 阅读全文
posted @ 2018-11-30 08:37 莫问今朝乄 阅读(1198) 评论(1) 推荐(1)
摘要:​ 类型是一个创建或获取服务实例的类型,这个类型继承了 这个类型,也是使用了访问者模式,下面一一来解析此类 ServiceProviderEngineScope 在解析 之前先看一下 类型,这个类型就可以是一个容器类型,最后实例化的服务对象就缓存在此类之中, 从下面代码中可以看出此类实现了 和`IS 阅读全文
posted @ 2018-11-29 08:21 莫问今朝乄 阅读(1118) 评论(0) 推荐(0)
摘要:上一篇说过在整个DI框架中 是核心,但是如果直接看 派生类其实看不出也没什么东西,因为这个类型其实都是调用的其它对象方法,所以我们先来看看其它的类型 ServiceCallSite ServiceCallSite ​ 这个是一个服务访问配置的类型,DI内部使用此类的派生类型进行封装所需要实例化的信息 阅读全文
posted @ 2018-11-28 08:22 莫问今朝乄 阅读(1412) 评论(1) 推荐(5)
摘要:ServiceProvider 是我们用来获取服务实例对象的类型,它也是一个特别简单的类型,因为这个类型本身并没有做什么,其实以一种代理模式,其核心功能全部都在 实现类中 还具有一个扩展类型 ,在扩展类型之中实现了一些我们经常使用的获取服务实例方法,比如 和`GetRequiredService() 阅读全文
posted @ 2018-11-27 08:35 莫问今朝乄 阅读(6014) 评论(0) 推荐(5)
摘要:前段时间看了蒋老师的Core文章,对于DI那一块感觉挺有意思,然后就看了一下Core官方DI的源码,这也算是第一个看得懂大部分源码的框架,虽然官方DI相对来说特别简单, 官方DI相对于其它框架(例如 autofac)使用起来麻烦许多,既没有一次注入程序集中所有类的功能,也没有方便的属性注入,所以感觉 阅读全文
posted @ 2018-11-26 09:12 莫问今朝乄 阅读(6025) 评论(1) 推荐(6)