首页 > 其他 > 详细

设计模式:桥连模式(Bridge)

时间:2014-02-19 08:57:45      阅读:291      评论:0      收藏:0      [点我收藏+]

定   义:将抽象部分和它的实现部分分离,使它们可以独立的变化。

结构图:

bubuko.com,布布扣

实现类:

bubuko.com,布布扣
  //Implementor(实现)类
   public abstract class Implementor
    {
        public abstract void Operation();
    }

    /// <summary>
    /// 具体实现类A
    /// </summary>
    public class ConcreteImplementorA : Implementor
    {
        public override void Operation()
        {
            Console.WriteLine("具体实现A的方法执行");
        }
    }

    /// <summary>
    /// 具体实现类B
    /// </summary>
    public class ConcreteImplementorB : Implementor
    {
        public override void Operation()
        {
            Console.WriteLine("具体实现B的方法执行");
        }
    }
View Code

抽象类:

bubuko.com,布布扣
//Abstraction类
    class Abstraction
    {
        protected Implementor implementor;

        public void SetImplementor(Implementor i)
        {
            this.implementor = i;
        }

        public virtual void Operation()
        {
            implementor.Operation();
        }
    }

    //RefinedAbstraction类
    class RefinedAbstraction : Abstraction
    {
        public override void Operation()
        {
            implementor.Operation();
        }
    }
View Code

客户端调用:

bubuko.com,布布扣
            Abstraction a = new Abstraction();

            a.SetImplementor(new ConcreteImplementorA());
            a.Operation();

            a.SetImplementor(new ConcreteImplementorB());
            a.Operation();
View Code

结果:
bubuko.com,布布扣

抽象部分和它的实现部分分离?
可以理解为:实现系统可能有多角度分类,每一种分类都有可能变化,那就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。

bubuko.com,布布扣

设计模式:桥连模式(Bridge)

原文:http://www.cnblogs.com/qianxingdewoniu/p/3554582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!