桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。
实现系统可能有多角度分类,每一个分类都可能变化,那么把这种角度分离出来,让它们独立变化,减少他们之间的耦合。
abstract class Implementor
{
public abstract void Operation();
}
class AImplementor : Implementor
{
public override void Operation()
{
Console.WriteLine("AImplementor的方法执行");
}
}
class BImplementor : Implementor
{
public override void Operation()
{
Console.WriteLine("BImplementor的方法执行");
}
}
class Abstraction
{
protected Implementor implementor;
public void SetImplementor(Implementor implementor)
{
this.implementor = implementor;
}
public virtual void Operation()
{
implementor.Operation();
}
}
class AAbstraction : Abstraction
{
}
Abstraction obj = new AAbstraction();
obj.SetImplementor(new AImplementor());
obj.Operation();
obj.SetImplementor(new BImplementor());
obj.Operation();