什么是控制反轉


控制反轉就是關於一個對象如何獲取他所依賴的對象的引用,這個責任的反轉。這也是多態的體現。

  好比去超市買東西,從我自己拿需要的物品變成了服務員給我。

控制反轉包括依賴注入和依賴查找,這次我先理解一下依賴注入:

 

 1 using System;
 2 
 3 namespace 多態
 4 {
 5     class MainClass
 6     {
 7         public static void Main (string[] args)
 8         {
 9             IPerson student = new Student ();
10             student.run ();
11             IPerson teacher = new Teacher();
12             teacher.run ();
13             Console.Read ();
14         }
15     }
16 
17     public interface IPerson
18     {
19         void run();
20     }
21 
22     public class Student:IPerson
23     {
24         public void run()
25         {
26             Console.WriteLine ("Student Write!");
27         }
28     }
29 
30     public class Teacher:IPerson
31     {
32         public void run()
33         {
34             Console.WriteLine ("Teacher Write!");
35         }
36     }
37 }

 

      如代碼所示:IPerson接口可以實例Student類或者Teacher類,而不像以前那樣Student s = new Student();這樣,如果下次想要實例Teacher還要去代碼中修改,再編譯,太麻煩,這樣IPerson p = new *** 這個***是從配置文件(xml一類的文件)中讀取出來,然后運用反射的方法動態取到要調用的類(或DLL文件),打到方便的目的。這就是我所理解的依賴注入。

                                                              --Ones

 


免責聲明!

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



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