1.依赖注入:主要有三种:通过构造器,通过属性,通过接口(也就是方法,因为继承接口需要实现方法)
可以使用一些依赖注入框架来简化依赖注入过程,如Microsoft.Extensions.DependencyInjection插件,是为了解耦,将依赖的对象放到容器中去