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

    桥接模式:实现系统可能有多角度分类,每一种分类都有可能的变化,那么就把这种多角度分离出来让他们独立变化,减少它们之间的耦合

    下面的实例是一个手机软件的实例,对于手机来说,我们可以从手机的品牌进行分类,也可以从软件角度分类(功能机),同时手机品牌与手机软件是一个

    聚合的关系。

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 设计模式之桥接模式
    {
        abstract class pingPai
        {
            public Soft mySoft;
            public void setPingPai(Soft soft)
            {
                mySoft = soft;
            }
            public abstract void Run();
        }
        abstract class Soft
        {
            public abstract void Run();
        }
        class pingPaiA : pingPai
        {
            public override void Run()
            {
                mySoft.Run();
            }
        }
        class pingPaiB : pingPai
        {
            public override void Run()
            {
                mySoft.Run();
            }
        }
        class SoftA : Soft
        {
            public override void Run()
            {
                Console.WriteLine("运行A软件");
            }
        }
        class SoftB : Soft
        {
            public override void Run()
            {
                Console.WriteLine("运行B软件");
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                pingPaiA a = new pingPaiA();
                a.setPingPai(new SoftA());
                a.Run();
                pingPaiB b = new pingPaiB();
                b.setPingPai(new SoftB());
                b.Run();
                Console.ReadKey();
    
            }
        }
    }

    运行结果:

  • 相关阅读:
    [转]谁抢了我的焦点
    VBA 对比两行数据
    VBA 自动得到分数
    VBA Excel 对比两列数据
    将图片读到二进制
    [转]常用字符与ASCII代码对照表
    [转]Java 运算符的优先级
    SqlBulkCopy 快速插入数据
    多列转一行
    C# 线程小结
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/5618716.html
Copyright © 2011-2022 走看看