结构型模式-----桥接模式(Bridge)
2013-09-02 15:29
232 查看
1、桥接模式
将抽象部分与他的实现部分分离,使他们都可以独立的变化。
像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本上不需要改动太多的代码,
原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就可以了。
应用场景: (各个变化因素之间的关系是一种弱关联)
1、当一个对象有多个变化因素的时候,通过抽象这些变化因素,将依赖具体实现,修改为依赖抽象。
2、当某个变化因素在多个对象中共享时。我们可以抽象出这个变化因素,然后实现这些不同的变化因素。
3、当我们期望一个对象的多个变化因素可以动态的变化,而且不影响客户的程序的使用时。
实例一
先定义一个接口与两个实现类 -- (桥的一边,可以独立变化)
定义一个桥,持有上面功能的实例
模拟调用(相当于桥的另一边,可以独立变化)
这样就通过对Bridge类的调用,实现了对接口Sourceable实现类的调用
将抽象部分与他的实现部分分离,使他们都可以独立的变化。
像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本上不需要改动太多的代码,
原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就可以了。
应用场景: (各个变化因素之间的关系是一种弱关联)
1、当一个对象有多个变化因素的时候,通过抽象这些变化因素,将依赖具体实现,修改为依赖抽象。
2、当某个变化因素在多个对象中共享时。我们可以抽象出这个变化因素,然后实现这些不同的变化因素。
3、当我们期望一个对象的多个变化因素可以动态的变化,而且不影响客户的程序的使用时。
实例一
先定义一个接口与两个实现类 -- (桥的一边,可以独立变化)
public interface Sourceable { public void method(); } public class SourceSub1 implements Sourceable { @Override public void method() { System.out.println(" ~~~~ SourceSub1 method ~~~ "); } } public class SourceSub2 implements Sourceable { @Override public void method() { System.out.println(" ~~~~ SourceSub2 method ~~~ "); } }
定义一个桥,持有上面功能的实例
public abstract class Bridge { private Sourceable source; public abstract void method(); public Sourceable getSource() { return this.source; } public void setSource(final Sourceable source) { this.source = source; } } public class MyBridge extends Bridge { @Override public void method() { this.getSource().method(); } }
模拟调用(相当于桥的另一边,可以独立变化)
public class Client { public static void main(final String[] args) { final Sourceable s1 = new SourceSub1(); final Bridge b = new MyBridge(); b.setSource(s1); b.method(); final Sourceable s2 = new SourceSub2(); b.setSource(s2); b.method(); } }
这样就通过对Bridge类的调用,实现了对接口Sourceable实现类的调用
相关文章推荐
- 设计模式深入学习---Bridge桥接模式(结构型模式)
- 设计模式07: Bridge 桥接模式(结构型模式)
- 七个结构型模式2:桥接模式-Bridge Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
- 设计模式之结构型模式(一)-----桥接(bridge)模式
- Bridge 桥接(结构型模式)
- Java经典设计模式-结构型模式-桥接模式(Bridge)
- 设计模式-结构型- 桥接模式(Bridge)
- 桥接(bridge) 模式--结构型模式之五
- C#面向对象设计模式纵横谈 笔记8 Bridge 桥接(结构型模式)
- Bridge(桥接)-对象结构型模式
- 结构型模式--Bridge桥接模式
- 2.2 Bridge(桥接) -- 对象结构型模式
- 七、桥接模式Bridge(结构型)
- 结构型—桥接(Bridge)模式
- 结构型模式2:桥接模式(Bridge Pattern)
- 设计模式学习之桥接模式(Bridge,结构型模式)(15)
- [导入]C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式).zip(9.01 MB)
- Bridge 桥接(结构型模式)
- 结构型模式:桥接(Bridge)
- Bridge 桥接模式(结构型模式)