美文网首页技术浅浅聊
.Net Core随笔(.Net Core DI依赖注入)

.Net Core随笔(.Net Core DI依赖注入)

作者: 喜欢孤独灬 | 来源:发表于2018-08-14 14:14 被阅读59次

    首先了解一下DI和IOC,首先两者并不是一个概念,虽说差不多,DI是IOC的一种具体实现:DI(Dependency Injection):依赖注入,我的理解是,类依赖于接口,然后将这种依赖注入到某种容器当中

    IOC(Inversion Of Control):控制反转,我的理解是,对于控制权的转交,本来控制权在A手上,现在由B来接管

    这里先贴上自己github的源码吧(包括前几天的swagger工具):https://github.com/wangdaguo68/.net-core-webapi.git

    1、聊聊依赖(Dependency)PS:其实这里的依赖就是设计模式6大原则其中之一---依赖倒置原则

    我们先创建好.net core webapi项目,然后再新建一个model项目用于存放模型类,再建一个数据库User对应的模型类,数据连接层就用微软自带的ef core ,不多说了,如图:

    然后我们就得新建上述说的一个接口,以及接口的实现类 ,如图:

    2、聊聊注入(这里的注入说白了其实就是体现的控制反转,把依赖的创建丢给其它人,自己只负责使用)

    .NET Core中DI提供了一个容器IServiceCollection,在Startup.cs中的ConfigureServices中进行注册, 如图:

     其实IServiceCollection提供了除了AddScoped之外三种方式,只是生命周期不一样,如图:

    3、调用

    上面的依赖注入我们完成了,那就该在控制器中使用了,如图:

    至此,算是大功告成了,那么我们为什么要用DI或者说IOC,其实归根结底还是便于维护,降低耦合

    相关文章

      网友评论

        本文标题:.Net Core随笔(.Net Core DI依赖注入)

        本文链接:https://www.haomeiwen.com/subject/gcqvbftx.html