依赖倒置(DIP),控制反转(IOC),依赖注入(DI)

什么是依赖?

依赖就是一种需要,例如再Dal层做数据处理,而在Bll层要做操作的话,首先要实例化Dal层,然后才能进行操作。这就是Bll层依赖于Dal层,Dal层被Bll层依赖

namespase DAL
{
   public class Operation
   {
      public int Add(){}
      public int Delete(){}
   }
}
//BLL层若想调用Dal层,首先要对Dal层添加引用,然后实例化Dal层,才能进行操作
using DAL;
namespace Bll
{
    public class Operation
    {
       Operation ope=new Operation();
       public int Add()
       {
         ope.Add();
       } 
    }
}

什么是倒置?

面向对象语言程序设计时,高层模块不直接依赖低层模块,二者通过抽象来依赖。依赖抽象,而不依赖具体细节。以前高层直接依赖于低层,现在高层依赖于抽象,细节由第三方工厂决定

namespase IDAL{
public inteface IOperation{
int Add();
int Delete();}
}
using IDAL;
namespase DAL
{
   public class Operation:IOperation
   {
      public int Add(){}
      public int Delete(){}
   }
}

namespase Factory{
 public IOperation GetFactiory(){
   //反射
}
}
//
using DAL;
namespace Bll
{
    public class Operation
    {
       IOperation ope=Factory.GetFactiory();
       public int Add()
       {
         ope.Add();
       } 
    }
}

 

 

 

 

你可能感兴趣的:(IOC)