DI-Dependency Injection
一 理解
1 设计原则和模式:解耦合代码,降低应用程序代码的耦合度。
程序易扩展、测试、延迟绑定;
2 编程思维
功能性类型喜欢定义成静态类,使用依赖注入,避免使用静态类,使用服务容器管理。
二 依赖注入的过程
//1 创建服务容器:ServiceCollection
IServiceCollection serviceCollection = new ServiceCollection();
//2 将定义好的类加入容器
serviceCollection.AddSingleton<Fan>();
serviceCollection.AddSingleton<IAppliance, Fan>();
//serviceCollection.AddScoped<Fan>();
//serviceCollection.AddTransient<Fan>();
//3 获取服务提供器
ServiceProvider prv = serviceCollection.BuildServiceProvider();
//4 获取服务
var fanService = prv.GetService<Fan>();
//5 调用服务方法
fanService.turnOn();
浙公网安备 33010602011771号