23种设计模式 第二部分 结构模式(5) 桥接模式
来源:互联网 发布:手机淘宝修改发货地址 编辑:程序博客网 时间:2024/06/05 10:52
理解
桥,就是连接两个不同的东西嘛。桥接模式就是把抽象和具体分开,让它们都能独立的变化,互相没有影响。用意是:将抽象化与实现化解耦,使得二者可以独立变化。我们用JDBC时,切换数据库时,代码基本不用改,其实就是用的bridge 模式。维基百科:"Bridge pattern is meant to decouple an abstraction from its implementation so that the two can vary independently"
实现
首先定义接口:
public interface Sourceable {public void method();}两个实现类:
public class SourceSub1 implements Sourceable{public void method(){System.out.println("First sub: 实现1中的方法。");}}
public class SourceSub2 implements Sourceable{public void method() {System.out.println("Second sub: 实现2中的方法。");}}Bridge类:
public class Bridge {Sourceable source;public void method() {source.method();}public Sourceable getSource() {return source;}public void setSource(Sourceable source) {this.source = source;}}MyBridge:
public class MyBridge extends Bridge {public void method() {getSource().method();}}测试类:
public class Test {public static void main(String[] args){Bridge bridge = new Bridge();Sourceable source1 = new SourceSub1();bridge.setSource(source1);bridge.method();Sourceable source2 = new SourceSub2();bridge.setSource(source2);bridge.method();}}输出:
First sub: 实现1中的方法。Second sub: 实现2中的方法。这样,我们实现了通过接口对不同实现的调用,即 通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的调用。下面是使用桥接模式完成JDBC的图,对照后比较好理解Bridge:
总结
桥接模式(Bridge)优点:
将实现予以解耦,让它和界面之间不再永久绑定。
抽象和实现可以独立扩展,不会影响到对方。
对于具体实现的修改,不会影响到客户端。
桥接模式(Bridge)缺点:
增加了设计复杂度。
抽象类的修改影响到子类。
桥接模式(Bridge)用途:
适用
在需要跨多平台的图形和窗口系统。
当需要用不同的方式改变接口和实现时。
这里也有桥接模式比较好的解读:
http://www.cnblogs.com/houleixx/archive/2008/02/23/1078877.html
http://www.cnblogs.com/rush/archive/2011/06/29/2093743.html
0 0
- 23种设计模式 第二部分 结构模式(5) 桥接模式
- 23种设计模式 第二部分 结构模式(1) 适配器模式
- 23种设计模式 第二部分 结构模式(2) 装饰器模式
- 23种设计模式 第二部分 结构模式(3) 代理模式
- 23种设计模式 第二部分 结构模式(4) 外观模式
- 23种设计模式 第二部分 结构模式(6)组合模式
- 23种设计模式 第二部分 结构模式(7)享元模式
- 【23种设计模式】结构型模式 > 桥接模式
- 23种设计模式3--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 23种设计模式--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- Java开发中的23个设计模式--第二部分:结构型模式
- 【结构型模式】桥接模式(Bridge)之23种java设计模式
- 设计模式->结构型模式->组合模式(部分-整体模式)
- 结构型设计模式(一)(适配器模式,桥接模式,组合模式,装饰模式)
- 23种设计模式 第三部分 关系模式(5)责任链模式
- 设计模式--结构型--桥接模式
- 结构型设计模式-桥接模式
- 结构型设计模式-桥接模式
- Android官方开发文档Training系列课程中文版:后台加载数据之处理CursorLoader的查询结果
- Mybatis绑定错误的原因
- Thinking in java - 注解(1)
- 第零章,为什么学习Linux以及关于Linux安装中遇到的难点
- Unity插件 - MeshEditor(六) 变形动画状态机
- 23种设计模式 第二部分 结构模式(5) 桥接模式
- Compare Version Numbers
- Ajax的使用
- lua自定义迭代器
- Android 6.0事件分发机制源码解析
- 模拟spring容器
- POJ 3268 Silver Cow Party
- spring_notes
- Windows Server 2012 R2安装MySQL 5.7