zoukankan      html  css  js  c++  java
  • 设计模式:桥连模式(Bridge)

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

    结构图:

    实现类:

      //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

    抽象类:

    //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

    客户端调用:

                Abstraction a = new Abstraction();
    
                a.SetImplementor(new ConcreteImplementorA());
                a.Operation();
    
                a.SetImplementor(new ConcreteImplementorB());
                a.Operation();
    View Code

    结果:

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

  • 相关阅读:
    P4611 [COCI2011-2012#7] TRAMPOLIN
    P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    P4417 [COCI2006-2007#2] STOL
    P4645 [COCI2006-2007 Contest#3] BICIKLI
    P1155 双栈排序
    P4610 [COCI2011-2012#7] KAMPANJA
    P4329 [COCI2006-2007#1] Bond
    EZOJ #227
    EZOJ #226
    p4980 polya定理
  • 原文地址:https://www.cnblogs.com/qianxingdewoniu/p/3554582.html
Copyright © 2011-2022 走看看