java-设计模式(结构型)-【桥接模式】
2015-04-17 11:44
459 查看
1.桥接模式(Bridge)
定义:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。
桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化。
使用场景:出现两个类或以上个类时,通过桥接模式来让它们相关联,而保持自身的变化
2.举例:咖啡杯(大的,小的)和饮料(水,牛奶)
有两个类:咖啡杯和饮料。
使用桥接模式:让不同的咖啡杯可以装不同的饮料。
2.1 图解
2.2 饮料
2.3 桥接类
2.4 咖啡类
2.5 测试
2.6 运行结果
3.利用桥接模式获取数据,数据源来自于不同的数据库
定义:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。
桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化。
使用场景:出现两个类或以上个类时,通过桥接模式来让它们相关联,而保持自身的变化
2.举例:咖啡杯(大的,小的)和饮料(水,牛奶)
有两个类:咖啡杯和饮料。
使用桥接模式:让不同的咖啡杯可以装不同的饮料。
2.1 图解
2.2 饮料
//饮料接口: public interface Fluid { void pourFluid(); } //牛奶类 class Milk implements Fluid { @Override public void pourFluid() { // TODO Auto-generated method stub System.out.println("倒牛奶"); } } //水类 class Water implements Fluid { @Override public void pourFluid() { // TODO Auto-generated method stub System.out.println("倒水"); } }
2.3 桥接类
//桥接类:持有饮料接口,并可以设置不同的饮料 public class Bridge implements Fluid{ private Fluid fluid=null; @Override public void pourFluid() { // TODO Auto-generated method stub fluid.pourFluid(); } public Fluid getFluid() { return fluid; } public void setFluid(Fluid fluid) { this.fluid = fluid; } }
2.4 咖啡类
//咖啡:持有桥接类 public abstract class Coffee { private Bridge bridge=new Bridge(); public abstract void pourCoffee(); public Bridge getBridge() { return bridge; } public void setBridge(Bridge bridge) { this.bridge = bridge; } } //大的咖啡杯 class LargeCoffee2 extends Coffee { @Override public void pourCoffee() { // TODO Auto-generated method stub System.out.println("大的咖啡杯"); //调用桥接类获取饮料源 getBridge().pourFluid(); } } class SmallCoffee2 extends Coffee { @Override public void pourCoffee() { // TODO Auto-generated method stub System.out.println("小的咖啡杯"); //调用桥接类获取饮料源 getBridge().pourFluid(); } }
2.5 测试
public class Test { public static void main(String[] args) { //设置两种饮料 Fluid milk=new Milk(); Fluid water=new Water(); //设置咖啡杯 Coffee l2=new LargeCoffee2(); //桥接桥 Bridge bd=new Bridge(); bd.setFluid(milk); //为咖啡杯设置桥 l2.setBridge(bd); //倒咖啡: l2.pourCoffee(); //重新设置饮料源: bd.setFluid(water); l2.pourCoffee(); } }
2.6 运行结果
大的咖啡杯 倒牛奶 大的咖啡杯 倒水
3.利用桥接模式获取数据,数据源来自于不同的数据库
相关文章推荐
- Java结构型设计模式中的适配器模式与桥接模式解析
- Java常用的设计模式13:常用设计模式之桥接模式(结构型模式)
- Java设计模式之结构型模式-桥接模式(Bridge)
- java结构型设计模式——桥接模式
- java设计模式(结构型)之桥接模式
- Java经典设计模式-结构型模式-桥接模式(Bridge)
- Java设计模式_(结构型)_桥接模式
- 【结构型模式】桥接模式(Bridge)之23种java设计模式
- java设计模式--结构型模式--桥接模式
- Java设计模式_结构型_桥接模式_以不变应万变
- Java设计模式_(结构型)_装饰模式
- Java经典设计模式之七大结构型模式
- Java设计模式之桥接模式
- 设计模式(七)----- 桥接模式(Bridge)----(JAVA版)
- 设计模式笔记--结构型模式之二--桥接 Bridge
- 讲故事,学(Java)设计模式—桥接模式
- java设计模式--结构型模式--组合模式
- 23种设计模式(9) java桥接模式
- java设计模式5.组合模式、门面模式、享元模式、桥接模式
- Java设计模式之结构型模式-组合模式(Composite)