• 设计模式:桥连模式(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

    结果:

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

  • 相关阅读:
    函数调用与参数传递总结(完成)
    序列总结
    python中如何调用.py文件
    反射获取Class对象的方式有哪些,反射创建对象的方式有哪些
    Dubbo的协议
    长连接和短连接
    hashset 和 treeset
    说说你对java中GC机制的理解
    找不着 jdbc 配置文件解决方案
    web.xml标准配置
  • 原文地址:https://www.cnblogs.com/qianxingdewoniu/p/3554582.html
Copyright © 2020-2023  润新知