网站关键词在哪里修改网络营销推广的劣势
网站关键词在哪里修改,网络营销推广的劣势,中山建设网站的公司,seo新站如何快速排名说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生#xff0c;早前#xff0c;自己也有尝试过去了解这两个东西#xff0c;但是一直觉得有点很难去理解#xff0c;总觉得对其还是模糊不清#xff0c;所以#xff0c;趁着今天有空#xff0c;就去把两个概念捋清… 说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生早前自己也有尝试过去了解这两个东西但是一直觉得有点很难去理解总觉得对其还是模糊不清所以趁着今天有空就去把两个概念捋清楚并将学习过程的知识点记录下来。 一、IOC和DI的理解1.1 什么是IOCIoc—Inversion of Control即控制反转其是一种设计思想而不是一种技术。再没有使用IOC之前我们一般是通过new来实例化从而创建一个对象。但是我们使用IOC之后创建这个对象的控制权将由内部转换到外部那么这个过程便可以理解为控制反转。1.2 什么是DI(依赖注入全称为Dependency Injection意思自身对象中的内置对象是通过注入的方式进行创建。形象的说即由容器动态的将某个依赖关系注入到组件之中。1.3 IOC和DI的联系IOC是一种设计思想而DI是这种设计思想的一个实现。理解IOC和DI的关键是“谁依赖谁为什么需要依赖谁注入谁注入了什么”。●谁依赖于谁当然是应用程序依赖于IoC容器●为什么需要依赖应用程序需要IoC容器来提供对象需要的外部资源●谁注入谁很明显是IoC容器注入应用程序某个对象应用程序依赖的对象●注入了什么就是注入某个对象所需要的外部资源包括对象、资源、常量数据 1.4 为啥需要反转为了在业务变化的时候尽量减少改动代码造成的问题。1.5 使用DI的好处1让程序之间松散耦合减少依赖有利于功能复用。2让程序整体结构更加灵活有利于单元测试。1.6 常见的IOC框架。微软自带DI、Autofac、Unity二、.NET Core自身DI使用2.1.NET Core自身DIASP.NET Core本身已经集成了一个轻量级的IOC容器开发者只需要定义好接口后在Startup.cs的ConfigureServices方法里使用对应生命周期的绑定方法即可常见方法如下在start.up类中ConfigureServices方法对实例进行注册这三个方法都是将我们实例注册进去只不过是生命周期不一样。AddSingleton:整个应用程序生命周期以内只创建一个实例相当于一个静态类。AddScoped:在同一个Scope内只初始化一个实例 可以理解为 每一个request级别只创建一个实例同一个http request会在一个 scope内。AddTransient每一次都会创建一个新的实例。 2.2 Demo应用1首先定义好一个IUserService接口然后实现该接口 2在startup.cs类中ConfigureServices方法中添加下面代码3通过构造函数来注入4运行查看结果 三、 采用Autofac替换IOC容器Autofac是一款轻量级的IOC框架目前和ASP.NET Core结合的非常好官方网站http://autofac.org源码下载地址https://github.com/autofac/Autofac。1)在Nuget中引入两个Autofac.Extras.DynamicProxyAutofac的动态代理它依赖Autofac所以可以不用单独引入Autofac、Autofac.Extensions.DependencyInjectionAutofac的扩展2在startup.cs类中ConfigureServices方法中添加以下代码注意把返回值类型改为IServiceProvider3同样也是通过构造函数进行注入4运行查看结果四、总结本篇文章主要是讲了IOC和DI的关系以及通过微软自带的IOC框架和Autofac实现在ASP.NET Core中进行简单注入其最大的优点就是实现了解耦的作用。同样本篇文章也是为了记录自己学习的过程后续有时间将会继续深入研究关于Autofac的内容。好文参考https://www.cnblogs.com/laozhang-is-phi/p/9541414.html老张的哲学
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86966.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!