`

结构型 模式--桥接模式(Bridge)

阅读更多

桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。我们来看看关系图:

 

实现代码:

先定义接口:

[java] view plaincopy
  1. public interface Sourceable {  
  2.     public void method();  
  3. }  

分别定义两个实现类:

[java] view plaincopy
  1. public class SourceSub1 implements Sourceable {  
  2.   
  3.     @Override  
  4.     public void method() {  
  5.         System.out.println("this is the first sub!");  
  6.     }  
  7. }  
[java] view plaincopy
  1. public class SourceSub2 implements Sourceable {  
  2.   
  3.     @Override  
  4.     public void method() {  
  5.         System.out.println("this is the second sub!");  
  6.     }  
  7. }  

定义一个桥,持有Sourceable的一个实例:

[java] view plaincopy
  1. public abstract class Bridge {  
  2.     private Sourceable source;  
  3.   
  4.     public void method(){  
  5.         source.method();  
  6.     }  
  7.       
  8.     public Sourceable getSource() {  
  9.         return source;  
  10.     }  
  11.   
  12.     public void setSource(Sourceable source) {  
  13.         this.source = source;  
  14.     }  
  15. }  
[java] view plaincopy
  1. public class MyBridge extends Bridge {  
  2.     public void method(){  
  3.         getSource().method();  
  4.     }  
  5. }  

测试类:

[java] view plaincopy
  1. public class BridgeTest {  
  2.       
  3.     public static void main(String[] args) {  
  4.           
  5.         Bridge bridge = new MyBridge();  
  6.           
  7.         /*调用第一个对象*/  
  8.         Sourceable source1 = new SourceSub1();  
  9.         bridge.setSource(source1);  
  10.         bridge.method();  
  11.           
  12.         /*调用第二个对象*/  
  13.         Sourceable source2 = new SourceSub2();  
  14.         bridge.setSource(source2);  
  15.         bridge.method();  
  16.     }  
  17. }  

output:

this is the first sub!
this is the second sub!

这样,就通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的调用。接下来我再画个图,大家就应该明白了,因为这个图是我们JDBC连接的原理,有数据库学习基础的,一结合就都懂了。

分享到:
评论

相关推荐

    设计模式---桥接模式

    桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立进行变化。这种模式在软件工程中被广泛应用于处理组件之间的耦合问题,特别是当需要为同一抽象提供多种实现或者需要独立地改变它们时。 ...

    c++设计模式-结构型模式-桥接模式

    c++设计模式-结构型模式-桥接模式;qt工程,c++简单源码; 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度...

    c++-设计模式之桥接模式(Bridge Pattern)

    桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使得两者可以独立地变化。这种模式常用于需要在多个维度上变化的场景,比如不同的形状和颜色,允许在不改变客户端代码的情况下增加新...

    Bridge 桥接模式(结构型模式)

    桥接模式(Bridge Pattern)是一种结构型设计模式,它的主要目的是将抽象部分与实现部分分离,使得它们可以独立地进行变化。在软件工程中,这种分离有助于降低复杂性,提高代码的可维护性和可扩展性。桥接模式的核心...

    设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式

    创建型模式 (100%) 设计模式面面观(8):创建型模式总结 (100%) 设计模式面面观(9):适配器模式(Adapter Pattern)-结构型模式 (100%) 设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式 ...

    C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式)

    桥接模式(Bridge Pattern)是面向对象设计中的一种结构型模式,它将抽象部分与实现部分分离,使得它们可以独立地进行变化。在C#编程中,桥接模式的应用能够帮助我们更好地解耦系统,提高代码的灵活性和可扩展性。 ...

    结构型模式之桥接模式(bridge)

    桥接模式是设计模式中的一种结构型模式,其主要目的是为了分离抽象部分和实现部分,以便两者能够独立地进行变化。这种模式的核心理念是通过引入一个抽象层来封装多种可能的实现,使得抽象和实现之间形成一种“桥接”...

    C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式) (Level 300)

    桥接模式(Bridge Pattern)是一种结构型设计模式,它旨在将抽象部分与其实现部分分离,使得它们可以独立地进行变化。在C#编程中,这种模式尤其有用,因为随着软件系统的复杂性增加,类的继承层次可能会变得难以管理...

    C#面向对象设计模式纵横谈\8 结构型模式Bridge桥接模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要资源... 这是第8节:结构型模式Bridge桥接模式

    设计模式之桥接模式BridgePattern

    桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它主要解决的是在软件设计中,当抽象和实现之间存在紧密耦合时,如何使这两者能够独立地变化。这种模式通过引入一个抽象层来分离接口和实现,使得它们可以...

    cpp代码-设计模式-桥接模式

    桥接模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使得两者可以独立进行变化。这种模式在C++编程中尤其有用,因为它允许我们创建灵活且可扩展的代码。 首先,让我们理解桥接模式的核心概念。在桥接...

    设计模式 - 桥接模式(C++实例)

    桥接模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使得它们可以独立地进行变化。在C++编程中,桥接模式能够帮助我们设计出更灵活、可扩展的系统,允许我们在不修改原有代码的基础上更换或增加新的实现...

    设计模式_结构型_桥接模式.md

    桥接模式(Bridge Pattern)是一种结构型设计模式,其主要目的是将抽象与实现解耦,使它们可以独立地进行变化。在软件设计中,我们经常会遇到需要将抽象概念和它的具体实现分离的场景,桥接模式正好可以解决这种问题...

    geekxh#hello-algorithm#桥接模式1

    介绍桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的

    [结构型模式] 桥接模式的理解

    桥接模式(Bridge Pattern)是一种结构型设计模式,它的主要目的是将抽象部分与实现部分分离,使得它们可以独立地进行变化。在实际开发中,这种模式可以有效地减少类的复杂性和耦合度,提高代码的可扩展性。下面将...

    设计模式之桥接模式,内含可运行代码

    桥接模式是软件设计模式中的一种结构型模式,它的主要目的是为了实现抽象和实现的解耦,使得两者可以独立地进行扩展。在桥接模式中,抽象类(Abstraction)不直接引用具体实现(Implementation),而是通过一个桥接...

    设计模式的桥接模式的例子

    桥接模式是设计模式中的一种结构型模式,它旨在将抽象部分与实现部分解耦,使得它们可以独立地变化。这种模式将抽象类和它的实现类进行分离,通过一个抽象接口来连接它们,使得两者可以独立发展,增加了系统的灵活性...

    TP-link路由桥接方法.pdf

    由于房屋基本都是钢筋混凝土结构,并且格局复杂多样,环境对无线信号的衰减严重,因此使用一个无线AP 进行无线网络覆盖时,会存在信号差、数据传输速率达不到用户需求,甚至存在信号盲点的问题。 为此,TP-Link ...

Global site tag (gtag.js) - Google Analytics