首页 > Windows开发 > 详细

c# 依赖注入DI以及它的好处

时间:2019-06-20 15:17:54      阅读:257      评论:0      收藏:0      [点我收藏+]

什么是依赖注入

一种实现对象及其合作者或者依赖项之间松散耦合的技术。

以前我们在action中使用对象的时候 可能是通过new 现在我们不需要这样做了。

我们可以交给其他某个地方帮我们new 我们只管使用这些对象

 

以前我们调用其他类的时候

 public IActionResult Index()
        {
            var tool = new EmailTool();
            tool.Send("xxx");
}

依赖注入的方式的好处

以后我们要增加或者修改其他的发消息方式 我们可以不用管这个的homecontroller

因为我们使用了接口 接口目的就是为了解耦

比如我们加一个PhoneTool 那么我们只加就行了 并且实现这个Itool 然后我们只需要改变Startup的configureservice

 

services.AddSingleton<ITool, PhoneTool>();

 

 

namespace NLogDemo2.Cores
{
    public interface ITool
    {
        void Send(string message);
    }
}


namespace NLogDemo2.Cores
{
    public class EmailTool: ITool
    {
        public void Send(string message)
        {
            Console.Write("发邮件:" + message);
        }
    }
}


 public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<ITool, EmailTool>();
            services.AddMvc();
        }

 public class HomeController : Controller
    {
        private ITool _tool;
        private ILogger<HomeController> _logger;
        public HomeController(ILogger<HomeController> logger,ITool tool)
        {
            _tool = tool;
            _logger = logger;
        }
public IActionResult Index() { //以前需要new的 //var tool = new EmailTool(); //tool.Send("xxx"); _tool.Send("sdfdsfdsf"); }

 

c# 依赖注入DI以及它的好处

原文:https://www.cnblogs.com/zhangzhiping35/p/11058761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!