zoukankan      html  css  js  c++  java
  • 设计模式之桥接模式

    • 桥接模式 将抽象部分与它的实现部分分离,使它们都可以独立地变化。
    abstract class Implementor {
        public abstract void Operation();
    }
    
    • ConcreteImplementorA 和 ConcreteImplementorB等派生类
    class ConcreteImplementorA : Implementor {
        public override void Operation() {
            Console.WriteLine("具体实现A的方法执行");
        }
    }
    
    class ConcreteImplementorB : Implementor {
        public override void Operation() {
            Console.WriteLine("具体实现B的方法执行");
        }
    }
    
    • Abstraction类
    class Abstraction {
        protected Implementor implementor;
        
        public void SetImplementor (Implementor implementor) {
            this.implementor = implementor;
        }
        
        public virtual void Operation() {
            implementor.Operation();
        }
    }
    
    • RefinedAbstraction类
    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();
        
        Console.Read();
    }
    
  • 相关阅读:
    洛谷 P2327 [SCOI2005]扫雷 题解
    P1388 算式 题解
    P1281 书的复制 题解
    P2896 [USACO08FEB]一起吃饭Eating Together 题解
    P1140 相似基因 题解
    变量的解构赋值
    let 和 const 命令
    第一阶段站立会议8
    第一阶段站立会议7
    第一阶段站立会议6
  • 原文地址:https://www.cnblogs.com/sanjun/p/8306729.html
Copyright © 2011-2022 走看看