什么是控制反转

  • 格式:pdf
  • 大小:50.18 KB
  • 文档页数:1

什么是控制反转

控制反转就是关于⼀个对象如何获取他所依赖的对象的引⽤,这个责任的反转。这也是多态的体现。

好⽐去超市买东西,从我⾃⼰拿需要的物品变成了服务员给我。

控制反转包括依赖注⼊和依赖查找,这次我先理解⼀下依赖注⼊:

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