什么是依赖?
依赖就是一种需要,例如再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();
}
}
}