zoukankan      html  css  js  c++  java
  • 什么是控制反转

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

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

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

     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

  • 相关阅读:
    bzoj3675 [Apio2014]序列分割
    bzoj3206 [Apio2013]道路费用
    bzoj3205 [Apio2013]机器人
    bzoj4241 历史研究
    bzoj2821 作诗(Poetize)
    bzoj2724 [Violet 6]蒲公英
    bzoj2811 [Apio2012]Guard
    bzoj2809 [Apio2012]dispatching
    PHP 文字,图片水印,缩略图,裁切成小图(大小变小)
    PHP文件下载方式
  • 原文地址:https://www.cnblogs.com/ones/p/4362177.html
Copyright © 2011-2022 走看看