zoukankan      html  css  js  c++  java
  • net core 依赖注入

    1.学习一下最简单的依赖注入

      依赖注入可以用来解耦。

      举个简单的例子,新建一个net core api 项目,添加学生类:

        public class Student
        {
            public string StudentID { get; set; }
            public string StudentName { get; set; }
        }

      定义依赖接口

        public interface IStudent
        {
            Student GetStudent(string id);
        }

      这个接口有一个函数,用来返回指定学号的学生信息

      模拟一个服务

        /// <summary>
        /// 提供模拟数据
        /// </summary>
        public class MockStudents : IStudent
        {
            private List<Student> _students;
            public MockStudents()
            {
                _students = new List<Student>()
                {
                    new Student (){StudentID="001",StudentName="kxy"},
                    new Student (){StudentID="002",StudentName="wzz"}
                };
            }
    
            public Student GetStudent(string id)
            {
                return _students.Find(x => x.StudentID == id);
            }
        }

      好了,,现在我们要做到就是如何将这个服务注入到控制器

      打开Startup,在 ConfigureServices 中添加

    // 依赖注入
                services.AddSingleton<IStudent, MockStudents>();

      打开需要注入的控制器,ValuesController

            private readonly IStudent _student;
            public ValuesController(IStudent student)
            {
                _student = student;
            }
    
            // GET api/values
            [HttpGet]
            public ActionResult<IEnumerable<string>> Get()
            {
                return new string[] { $"{_student.GetStudent("001").StudentName}" };
            }

      到这里,一个简单的依赖注入例子已经完成

      这样做的好处不言而喻,在需要修改注入服务的时候,只需要修改ConfigureServices  的配置即可,解耦控制器的代码

  • 相关阅读:
    从零开始实现微信机器人
    简单易用的字符串模糊匹配库Fuzzywuzzy
    社会工程学框架
    数据结构【基础知识点总结】
    Go数组
    python generator与coroutine
    Flask开发系列之数据库操作
    【渗透技巧】资产探测与信息收集
    Appium Desktop Inspector 安卓真机配置(Windows)
    JAVA Random 随机类
  • 原文地址:https://www.cnblogs.com/wskxy/p/11369553.html
Copyright © 2011-2022 走看看