zoukankan      html  css  js  c++  java
  • 设计模式学习笔记——桥接模式(Bridge)

    1.特点:使继承关系更改为组合关系,使两者可独立变化。(未雨绸缪)

    2.概念:将抽象部分与它的实现部分分离,使它们都可以独立地变化。

    3.类图:

    4.程序实现:

        abstract class Implementor
        {
            public abstract void Operation(); 
        }
        
        class ConcreteImplementorA :Implementor 
        {
            public override void Operation()
            {
                Console.WriteLine("具体实现A的方法执行");
            }
        }
        class ConcreteImplementorB :Implementor 
        {
            public override void Operation()
            {
                Console.WriteLine("具体实现B的方法执行");
            }
        }
        abstract class Abstraction
        {
            protected Implementor implementor;
    
            public void SetImplementor(Implementor implementor)
            {
                this.implementor = implementor;
            }
    
            public virtual void Operation()
            {
                implementor.Operation();
            }
        }
        class RefinedAbstraction :Abstraction 
        {
            public override void Operation()
            {
                implementor.Operation();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Abstraction ab = new RefinedAbstraction();
    
                ab.SetImplementor(new ConcreteImplementorA ());
                ab.Operation();
    
                ab.SetImplementor(new ConcreteImplementorB ());
                ab.Operation();
    
                Console.Read();
            }
        }
    

      

  • 相关阅读:
    webpack初识
    Vue+ElementUi项目实现表格-单行拖拽
    promise/async与await 的执行顺序梳理
    MDN社区
    angularjs中的异步操作
    javascript中的字符串和数组的互转
    angularjs的练习题
    angularjs基础知识
    开发的两种方式
    ASP.NET中的HttpClient发送请求
  • 原文地址:https://www.cnblogs.com/ice-baili/p/4710336.html
Copyright © 2011-2022 走看看