依赖倒置

依赖倒置主要体现的是“不是对具体类的依赖,而是对其抽象类/接口的依赖” ,也可以说自己不去依赖具体实现,而是依赖抽象或接口,并由外部赋予具体实现。

 

public abstract class 抽象类{}

 

//低层类

public class 具体类:抽象类{}

 

//高层类

public class 依赖类

{

         //这就是依赖倒置,不使用具体类作为依赖参数

         //而是用其抽象类作为依赖参数,这样接受的参数对象就多样化

      

        public 依赖类(抽象类 obj){}

}

 

public class 应用类

{

        public static void Main()

        {

      抽象类 di=new 具体类();  // new 具体类1() new 具体类2()..., 可以由IOC容器来创建,如 MEF,Autofac,Ninject...

               new 依赖类(di);       //这样的实例化对象,不受单一性的约束,

                                         //只要是实现抽象类的任何具体类,都可作为参数, 从而实现依赖注入

        }

}

posted @ 2012-01-08 22:18  Yu  阅读(171)  评论(0编辑  收藏  举报