• 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"); }
  • 相关阅读:
    贫血,充血模型的解释以及一些经验(非常经典)(非原创)
    源代码管理安装大全
    20条常见的编码陷阱 你中枪了没?(转)
    从30岁到35岁:为你的生命多积累一些厚度(转)
    Model1 与Model2(转)
    白话MVP(转帖)
    stl string 使用
    TerminateThread不要使用的證據
    C++静态成员函数小结(转)
    C/C++必知必会1
  • 原文地址:https://www.cnblogs.com/zhangzhiping35/p/11058761.html
Copyright © 2020-2023  润新知