首页 > 其他分享 >设计模式学习(八):桥接模式

设计模式学习(八):桥接模式

时间:2022-11-10 13:11:42浏览次数:66  
标签:Gift 桥接 Driver 模式 设计模式 public

设计模式学习(八):桥接模式

作者:Grey

原文地址:

博客园:设计模式学习(八):桥接模式

CSDN:设计模式学习(八):桥接模式

桥接模式

桥接模式是一种结构型模式。它将抽象部分和实现部分分离,使他们可以独立地变化。

使用桥接模式,可以将抽象和具体的发展单独分支(即:抽象中持有一个具体的引用)

举例说明:

GG 在追 MM 的时候,可以送书和花两种礼物

public class GG {
    public void chase(MM mm) {
        Gift g = new WarmGift(new Flower());
        give(mm, g);
    }

    public void give(MM mm, Gift g) {
        System.out.println(g + "gived!");
    }
}

public abstract class Gift {
    protected GiftImpl impl;
}

public class WarmGift extends Gift {
    public WarmGift(GiftImpl impl) {
        this.impl = impl;
    }
}

public class GiftImpl {}

public class Flower extends GiftImpl {}

如上代码,礼物 Flower 被包装成了一个 WarmGift 送给 MM ,WarmGift 和 WildGift 都是 Gift 的一种抽象,Flower 和 Book 都算 Gift 的一种具体实现,

我们让 Gift 这个抽象类中,持有一个 GiftImpl 的引用

UML示例图如下:

image

如果说代理模式是一个类与另一个类的组合,那么桥接模式是一组类和另外一组类的组合。

桥接模式的应用

JDBC 驱动配置

当我们把具体的 Driver 实现类(比如: com.mysql.jdbc.Driver)注册到 DriverManager 之后,后续所有对 JDBC 接口的调用,都会委派到对具体的 Driver 实现类来执行。而 Driver 实现类都实现了相同的接口(java.sql.Driver),这也是可以灵活切换 Driver 的原因。

UML 和 代码

UML 图

代码

更多

设计模式学习专栏

参考资料

标签:Gift,桥接,Driver,模式,设计模式,public
From: https://www.cnblogs.com/greyzeng/p/16876722.html

相关文章

  • java 单例设计模式 懒汉式
    packagecom.tedu.test;/***单例设计模式懒汉式设计*优点:不会造成资源的浪费*缺点:会造成线程安全问题*/publicclasssingleonDemo{publicstatic......
  • java单例设计模式 饿汉式
    packagecom.tedu.test;/***单例设计模式的实现饿汉式*缺点:比较浪费资源*优点:饿汉式实现方式不会存在线程安全问题*单例设计模式的原则:实例唯一*/publi......
  • 紧急模式(emergency mode)问题处理方法
    问题现象Linux系统启动时进入紧急模式,提示:Welcometoemergencymode,如图1所示,并提示输入root密码进入维护。图1 紧急模式根因分析紧急模式提供尽可能最小的环境,即......
  • C++ 单例模式
    有时候用到单例模式,记录一下。另外,有时候也用静态函数。头文件:1#ifndefDATABASEMANAGER_H2#defineDATABASEMANAGER_H345#include"operatesqlite.h"......
  • 单例模式的5种实现方式
    publicclassTest{//饿汉式,线程安全,但提前加载,浪费内存privatestaticTestinstance=newTest();privatestaticTestgetInstance(){r......
  • 初识设计模式 - 访问者模式
    简介访问者设计模式(VisitorDesignPattern)的定义是,允许一个或多个操作应用到一组对象上,解耦操作和对象本身。在使用访问者模式的时候,被访问的元素通常不是单独存在的,它......
  • 浅谈PHP设计模式的迭代器模式
    简介:迭代器模式,是行为型的设计模式。提供一中方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。适用场景:除了学习,在PHP中几乎没有应用场景。优......
  • 设计模式---责任链模式
    简述将各个功能拆分后分别封装(各功能解耦),需要时可自由组合(包括执行顺序)话不多说,看个优化案例吧。优化案例最初版以下是模拟客户端想服务端发送请求的业务流程。......
  • 软件设计模式白话文系列(五)建造者模式
    1、描述将一个对象的构造过程进行封装,并按照一定顺序进行构造。通俗的讲,假如要创建电脑的对象,那么各个实例的属性不同,也就是电脑的配置各不相同.这个时候可以考虑用构......
  • 单例模式实现的多种方式,pickle序列化模块,选课系统整体搭建
    目录单例模式实现的多种方式,pickle序列化模块,选课系统整体搭建今日内容概要今日内容详细单例模式实现的多种方式pickle序列化模块选课系统需求分析功能提炼选课系统架构设......