码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-02 09:41:27      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:模板   代码解析   final   imp   china   close   基本   bsp   包含   

一.什么是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

  

  

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

标签:模板   代码解析   final   imp   china   close   基本   bsp   包含   

原文地址:http://www.cnblogs.com/zhongxuan/p/7465577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!