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

    结果:

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

  • 相关阅读:
    查看内置命令和非内置命令帮助的几种方法(man、help、info)
    手写js的insertAfter
    Java 单链表简单实现
    StudentMain控屏后如何关闭
    python3 twisted问题
    python3 you-get
    数据库方言(这是啥玩意儿?)
    vi/vim用法
    sublime text3
    数据库命令大全(也不是很全哈)
  • 原文地址:https://www.cnblogs.com/qianxingdewoniu/p/3554582.html
Copyright © 2011-2022 走看看