位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 创建ASP.NET Core Web应用程序 — 依赖注入

提问人:刘团圆发布时间:2020-12-10

    依赖注入(Dependency Injection,DI)是一个非常高级的概念,但是因为ASP.NET Core是以该概念为基础构建的,所以这里简单介绍一下依赖注入。关于DI,要理解的一个基本知识点是,在DI中避免使用new关键字。

    Player[] players = new Player[2];

    之所以要避免使用new,是因为new关键字会将程序与其引用的类永久绑定在一起。一些情况下,需要修改类的可能性极低,这时使用new关键字是可以接受的,是否使用该关键字就是一个设计决策。另一个选项是实现接口。接口将使用者与提供程序松散地耦合在一起,或者解除二者的耦合,这里,程序是使用者,类是提供程序。如下面的代码段所示,在创建Player时没有使用new关键字。

public interface ICardGameClient 

{

    void Player(string Name);

}

public class PlaySomeCards

{

    private readonly ICardGameClient _cardGameClient; 

    public PlaySomeCards(ICardGameClient cardGameClient)

   {

        _cardGameClient = cardGameClient;

    }

    public PlayHand 

    {

        _cardGameClient.Player("Benjamin");

    }

}

    依赖注入更进一步,使用了所谓的工厂或容器。ASP.NET Core默认支持DI,并在Startup.cs文件中配置DL创建ASP.NET Core Web应用程序时,会创建Startup.cs文件。该文件包含一个ConfigureServices()方法,在该方法中配置提供程序。

public void ConfigurServices(IServiceCollection services)

{

    services.AddKvc();

    services . AddDbContext<className>(options => ... 

    services . AddIdentity<classNamel,classNaoie2>()...

}

当程序代码发出请求时,ConfigureServices()方法中配置的服务提供程序会提供dassName。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部