桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化。
优点:1、抽象和实现的分离。
2、优秀的扩展能力。
3、实现细节对客户透明。
缺点:桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。
abstract class Implementor
{
public abstract void Operation();
}
class ConcreteImplementorA:Implementor
{
public override void Operation()
{
Console.WriteLine("具体实现B的方法执行");
}
}
class ConcreteImplementorB:Implementor
{
public override void Operation()
{
Console.WriteLine("具体实现B的方法执行");
}
}
class Abstraction
{
protected Implementor implementor;
public void SetImplementor(Implementor implementor)
{
this.implementor = implementor;
}
public virtual void Operation()
{
implementor.Operation();
}
}
class RefinedAbstraction:Abstraction
{
public override void Operation()
{
implementor.Operation();
}
}
static void Main(string[] args)
{
Abstraction ab = new RefinedAbstraction();
ab.SetImplementor(new ConcreteImplementorA);
ab.Operation();
ab.SetImplementor(new ConcreteImplementorB);
ab.Operation();
}