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();
    
            }
        }
    }

    运行结果:

  • 相关阅读:
    HDU 4665 Unshuffle DFS找一个可行解
    Servlet生命周期引起的问题
    获取真实Ip地址
    java中return与finally的执行顺序
    理解正则表达式
    抽象类与接口
    java 4种方式读取配置文件 + 修改配置文件
    Java基础语法
    接口多继承
    Java类成员(成员变量和方法)的覆盖与隐藏归纳
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/5618716.html
Copyright © 2011-2022 走看看