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();

 

    

posted on 2025-05-21 15:09  博观约取*厚积薄发  阅读(8)  评论(0)    收藏  举报