• 桥接模式


     

    定义: 将抽象部分与它的具体实现部分分离,使它们都可以独立地变化

    使用组合的方式 建立两个类之间的联系,而不是使用继承的方法

    使用场景:

    1.抽象和具体实现之间增加更多的灵活性

    2.一个类存在两个(或多个)独立变化的未读,且俩各个(或多个)维度都需要独立进行扩展

    3.不希望使用继承,或因为多层继承导致系统类的个数剧增

     

    优点:

    1.分离抽象部分及其具体实现部分

    2.提高系统的可扩展性

    3.符合开闭原则

    4.符合合成复用原则

    缺点:

    1. 增加了系统的理解与设计难度
    2. 需要正确地识别出系统中两个独立变化的维度

     

    相关的设计模式:

    适配器模式: 这两个都是为了两东西共同工作,但是桥接模式是分离抽象和具体的实现,

    而适配器模式是为了适配接口(复用功能相似的接口),达到某种目的(复用代码)

     

    桥接模式避免了直接继承

    而是将抽象和实现之间 加了一个桥接类,把抽象的实现委托给桥接的那个类

     

     

    DriverManager 提供了 getConnection 方法

    JDBC 为不同的数据库提供了相同的接口,不同数据库的厂商 实现了 Connection接口,java 即可调用

     

     

     

    可以看看相关桥接模式 的文章 https://blog.csdn.net/kangbin825/article/details/72025533

    即,通过 DriverManager 这个桥 去屏蔽了 抽象和实现

    调用抽象 方法 会先调用 这个 DriverManager提供的接口方法(DriverManager就是个委托类)

    再由这个委托去调用具体的实现

     

    public class BridgeTest {

     

    public static void main(String[] args) {

     

    Bridge bridge = new MyBridge();

     

    /*调用第一个对象*/

    Sourceable source1 = new mysqlSource();

    bridge.setSource(source1);

    bridge.method();

     

    /*调用第二个对象*/

    Sourceable source2 = new OracleSource();

    bridge.setSource(source2);

    bridge.method(); //其实 还是调用的 source.method()

    }

    }

     

     

     

     

     

  • 相关阅读:
    想要快速上手 Spring Boot?看这些教程就足够了!| 码云周刊第 81 期
    Eclipse Java注释模板设置详解以及版权声明
    java跨域解决
    微信公众号创建
    Java与JS生成二维码与条形码
    Java基础break、continue语句的用法
    分布式文件系统介绍
    Hadoop的RPC机制及简单实现
    RPC简介与hdfs读过程与写过程简介
    JVM的Client模式与Server模式
  • 原文地址:https://www.cnblogs.com/lyr-2000/p/12568787.html
Copyright © 2020-2023  润新知