阅读目录
2、常用框架——.NET Core内置IOC容器ServiceCollection
3、IOC框架——Autofac框架【后面专门拿一节来总结】
要说依赖注入DI首先要从控制反转IOC说起,为什么这么讲呢?因为控制反转是思想,依赖注入是当下的最佳实践。传统的程序设计,我们直接在对象内部去new出依赖的对象,而IOC思想中,使用一个专门的容器来创建管理这些对象及其依赖的对象的生命周期《如图1》。传统程序设计都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松耦合方便测试,利于功能复用,使整个程序变得非常灵活。其实IoC对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的资源了。
2、常用框架——.NET Core内置IOC容器ServiceCollection
ServiceCollection是.NET Core内置的DI框架,使用的时候需要引入 Microsoft.Extensions.DependencyInjection 6.0.0 Nuget包。此包提供了 IServiceCollection 接口的入口,从而公开你可以从中调用 GetService<TService> 的 System.IServiceProvider。
1 namespace Demo07_ServiceCollection 2 { 3 public interface ISqlHelper 4 { 5 void GetInfo(); 6 } 7 }