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  的配置即可,解耦控制器的代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM