设计模式Bridge桥梁设计模式
Posted li仲玄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式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
以上是关于设计模式Bridge桥梁设计模式的主要内容,如果未能解决你的问题,请参考以下文章
"围观"设计模式(15)--结构型之桥梁模式(Bridge Pattern)