posted @ 2018-10-15 06:52 Artech 阅读 (24384) 评论 (44)编辑
包含服务******信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象。当需要消费某个服务实例的时候,我们只需要指定服务类型调用IServiceProvider的GetService方法,IServiceProvider就会根据对应的服务******提供所需的服务实例。阅读全文
posted @ 2018-08-03 06:10 Artech 阅读 (3831) 评论 (7)编辑
包含服务******信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象。服务******就是创建出现相应的ServiceDescriptor对象并将其添加到指定IServiceCollection集合对象中的过程。阅读全文
posted @ 2018-08-02 06:02 Artech 阅读 (2732) 评论 (6)编辑
毫不夸张地说,整个Core框架是建立在一个依赖注入框架之上的,它在应用启动时构建请求处理管道过程中,以及利用该管道处理每个请求过程中使用到的服务对象均来源于DI容器。该DI容器不仅为ASP.NET Core框架提供必要的服务,同时作为了应用的服务提供者,依赖注入已经成为了ASP.NET Core应用基本的编程模式。阅读全文
posted @ 2018-08-01 06:18 Artech 阅读 (6240) 评论 (15)编辑
名为Cat的DI框架。在《依赖注入[4]: 创建一个简易版的DI框架[上篇]》中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的设计和实现。阅读全文
posted @ 2018-07-31 07:29 Artech 阅读 (2031) 评论 (8)编辑
本系列文章旨在剖析Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章(《控制反转》、《基于IoC的设计模式》和《 依赖注入模式》)从纯理论的角度对依赖注入进行了深入论述,为了让读者朋友能够更好地理解.NET Core的依赖注入框架的设计思想和实现原理,我们创建了一个简易版本的DI框架,也就是我们在前面文章中多次提及的Cat。我们会上下两篇来介绍这个被称为为Cat的DI框架。阅读全文
posted @ 2018-07-30 06:34 Artech 阅读 (3181) 评论 (10)编辑
IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流程的复用,并按照“好莱坞法则”实现应用程序的代码与框架之间的交互。我们可以采用若干设计模式以不同的方式实现IoC,比如我们在《依赖注入[2]: 基于IoC的设计模式》介绍的模板方法、工厂方法和抽象工厂,接下来我们介绍一种更为有价值的IoC模式,即依赖注入(DI:Dependency Injection,以下简称DI)。阅读全文
posted @ 2018-07-27 06:26 Artech 阅读 (3844) 评论 (6)编辑
前几天对erception作了简单的重构,想提供C#脚本来定义Interception Policy,毫无疑问微软提供的编译平台Roslyn使C#脚本话提供了支持。但是没有想到随便尝试了一个简单的功能就出现了问题,我个人觉得这应该是Roslyn的Bug。但是Roslyn经历了这么多次版本的迭代还出现如此低级的错误,实在有点说不过去。阅读全文