前言
很久很久以前就写过了 Asp.net core 学习笔记 ( DI 依赖注入 ), 这篇只是整理一下而已.
参考
Using dependency injection in a .Net Core console application
介绍
Dependency Injection 是一种管理依赖的方式. 许多对象之前都会有依赖关系. 比如 ServerA 里面需要 ServiceB 的某个方法. 那么 ServiceA 就 depend 了 ServiceB
当这种依赖关系越来越多以后, 管理起来就非常难. 甚至连想创建一个对象都累. 所以后来就只好设计一个规则来管理它们了.
许多地方都有 Dependency Injection 这个概念. 比如 Java, Angular 都有. 但是每个人最终的实现都有一些些区别. 也可以理解为变种吧. 但大家的目的和中心思想是差不多的.
管理方式
首先, 把整个项目的 Service 都交给一个 ServiceProvider 来管理. 不管你要什么 Service 都必须跟 ServiceProvider 拿.
每个 Service 通过 Construtor 来表达依赖关系.每当有人需要 Service 的时候, ServiceProvider 就会查找 Service 的依赖, 一层层的去创建出所有需要的对象.
整个过程大致上就是这样.
标签:Core,ASP,Service,ServiceProvider,Dependency,依赖,NET,Injection From: https://www.cnblogs.com/keatkeat/p/16745863.html