可以把类接口的定义和实现进行分离;
1. Abstraction
-BusinessObject的接口定义,比Implementor的层次高
-包含ConcreteImplemtator的引用
public abstract class Abstraction
{
protected Implementor _implementor;
public Implementor Implementor
{
set
{
_implementor = value;
}
}
public virtual void Operation()
{
_implementor.OperationImpl();
}
}
2.RefinedAbstraction
实现Abstraction的抽象类。
public class RefinedAbstraction : Abstraction
{
public override void Operation()
{
_implementor.OperationImpl();
}
}
3. Implementor
-DataObject;提供更低级的数据原始操作