什么是控制反转

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

这也是多态的体现。

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

控制反转包括依赖注⼊和依赖查找,这次我先理解⼀下依赖注⼊:
1using System;
2
3namespace多态
4 {
5class MainClass
6 {
7public 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
17public interface IPerson
18 {
19void run();
20 }
21
22public class Student:IPerson
23 {
24public void run()
25 {
26 Console.WriteLine ("Student Write!");
27 }
28 }
29
30public class Teacher:IPerson
31 {
32public 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。

相关文档
最新文档