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


什么是依赖注入

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

以前我们在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"); }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM