为什么使用依赖关系注入? 使用 .NET,通过 new 运算符(即,new MyService 或任何想要实例化的对象类型)调用构造函数即可轻松实现对象实例化.遗憾的是,此类调用会强制实施客户端(或应用程序)代码到已实例化对象的紧密耦合的连接(硬编码的引用),此外还会引用其程序集/NuGet 包.对于常见的 .NET 类型而言,这不是问题.然而,对于提供“服务”(如日志记录.配置.支付.通知或事件 DI)的类型,如果你想切换所用服务的实现,则可能不需要依赖关系.例如,一种方案是,客户端可能将 N…