• 设计模式(9)Bridge桥梁设计模式


    一.什么是Bridge模式

    负责两两个层次结构的东西连接起来,分别是类的功能层次结构和类的实现层次结构.

    二.解析

    1.类的功能层次结构是通过子类继承父类添加新的功能函数.

    2.类的实现层次结构是通过父类定义抽象类,具体实现交给子类;父类负责定义对接的接口,子类负责实现接口.

    3.父类Display负责实现基本函数,而函数里面其实是调用抽象方法类的函数,如:

    public Display(DisplayImpl impl){

      this.impl = impl;

    }

    public void open(){

      impl.rawOpen()(

    }

    并且父类Display还负责类似的定义模板方法,说的类似,毕竟方法还是自己的,但是方法的里面却套着别人的方法,不过也可以包含自己的,如

    public final void display(){

      open();

      print();

      close();

    }

    哈哈,想想说模板还是不怎么准确的,只能说某种情况下.

    4.子类CountDisplay负责增加功能,继承后写功能就是,比较简单就不啰嗦.

    5.实现层次的父类DisplayImpl,跟子类StringDisplayImpl的功能是一个抽象方法类,一个实现方法类.

    而之前的Display类的方法就是包含StringDisplayImpl的实现方法

    三.代码解析

    Main程序

    public class Main(){

      public static void main (String[] args){

        Display d1 = new Display(new StringDisplayImpl("Hello,China."));

        Display d2 = new CountDisplay(new StringDisplayImpl("Hello,World."));

        CountDisplay d3 = new CountDisplay(new StringDisplayImpl("Hello,Universe."));

        d1.display();

        d2.display();

        d3.display();

        d3.multiDisplay(); //CountDisplay子类的新功能函数

      }

    }

    四.UML图

    1.资料是这么写的

    CountDisplay--->Display<--->DsplayImpl<---StringDisplayImpl

    2.我觉得是这样

    CountDisplay--->Display<--->StringDisplayImpl--->DsplayImpl

      

      

  • 相关阅读:
    Python基础之列表功能
    python基础之字符串基本功能
    Linux服务器上搭建codis集群之——安装前环境准备
    centos7环境开启WIFI热点
    升级glibc、gcc、zlib等
    修复Nginx 502错误:upstream sent too big header while reading response header from upstream
    PS 命令详解
    Linux下网络文件系统NFS服务搭建易错点总结
    2020美赛建模竞赛一等奖经验心得分享
    团队获奖总结
  • 原文地址:https://www.cnblogs.com/zhongxuan/p/7465577.html
Copyright © 2020-2023  润新知