设计模式(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

  

  

posted on 2017-09-02 00:47  li仲玄  阅读(113)  评论(0编辑  收藏  举报

导航