.NET CORE学习笔记系列(2)——依赖注入【3】依赖注入模式
原文: https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流程的复用,并按照“ 好莱坞法则 ”实现应用程序的代码与框架之间的交互。我们可以采用若干设计模式以不同的方式实现IoC,比如我们在 《依赖注入[2]: 基于IoC的设计模式》 介绍的模板方法、工厂方法和抽象工厂,接下来我们介绍一种更为有价值的IoC模式,即依赖注入(DI:Dependency Injection,以下简称DI)。 一、由容器提供服务实例 和在《 基于IoC的设计模式 》中介绍的工厂方法和抽象工厂模式一样,DI是一种“ 对象提供型 ”的设计模式,在这里我们将提供的对象统称为“ 服务 ”、“ 服务对象 ”或者“ 服务实例 ”。在一个采用DI的应用中,在定义某个服务类型的时候,我们直接将依赖的服务采用相应的方式注入进来。按照“面向接口编程”的原则,被注入的最好是依赖服务的接口而非实现。 在应用启动的时候,我们会对所需的服务进行全局注册。服务一般都是针对接口进行注册的,服务注册信息的核心目的是为了在后续消费过程中能够根据接口创建或者提供对应的服务实例。按照“好莱坞法则”,应用只需要定义好所需的服务,服务实例的激活和调用则完全交给框架来完成,而框架则会采用一个独立的“容器