0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

桥接模式的目标与设计

冬至子 ? 来源:全栈开发的码农 ? 作者:全栈开发的码农 ? 2023-06-01 14:29 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

桥接模式的目标是使对象的抽象部分与实现部分分离,使之可以分别独立变化,以尽量避免产生耦合

下图以绘制圆形为例:圆形的颜色通过接口类DrawAPI及其2个实现类RedCircle以及GreenCircle实现;圆形的坐标以及半径通过抽象类及其扩展类实现,在实现draw()方法时,直接使用DrawAPI类中的相关对象的drawCircle方法。

图片

DrawAPI接口类:

package bridge;
public interface DrawAPI {
  public void drawCircle(int radius, int x, int y);
}

RedCircle实现类:

package bridge;
public class RedCircle implements DrawAPI{
  @Override
  public void drawCircle(int radius, int x, int y) {
    System.out.println("画红色圆,半径"+radius+",坐标:x="+x+",y="+y);
  }
}

GreenCircle实现类:

package bridge;
public class GreenCircle implements DrawAPI{
  @Override
  public void drawCircle(int radius, int x, int y) {
    System.out.println("画绿色圆,半径"+radius+",坐标:x="+x+",y="+y);  
  }
}

Shape抽象类:

package bridge;
public abstract class Shape {
  protected DrawAPI drawAPI;
  protected Shape(DrawAPI drawAPI) {
    this.drawAPI=drawAPI;
  }
  public abstract void draw();
}

Circle扩展类:

package bridge;
public class Circle extends Shape{
  int x, y, radius;
  public Circle(DrawAPI drawAPI,int x,int y,int radius) {
    super(drawAPI);
    this.x=x;
    this.y=y;
    this.radius=radius;
  }
  @Override
  public void draw() {
    drawAPI.drawCircle(radius, x, y);
  }
}

主函数调用方式:

package main;
import bridge.*;
public class BridgePattern {
  public static void main(String[] args) {
    Shape redCircle =new Circle(new RedCircle(),10,10,5);
    Shape greenCircle = new Circle(new GreenCircle(),20,20,6);
    redCircle.draw();
    greenCircle.draw();
  }
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 耦合器
    +关注

    关注

    8

    文章

    735

    浏览量

    61821
  • API接口
    +关注

    关注

    1

    文章

    87

    浏览量

    10959
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    55913能否支持wifi的模式

    正如标题,我们的55913能否支持wifi的模式? 谢谢,
    发表于 07-17 07:05

    关于模式遇到的问题

    VMware使用模式,已经手动设置ip地址和主机ip同一网段,但是ifconfig显示的ip地址却和vmnet8(NAT)同一网段?怎么解决?
    发表于 10-16 15:06

    CentOS静态IP配置(模式

    [2018-08-26]-[CentOS]CentOS静态IP配置(模式
    发表于 05-12 08:27

    COM和CORBA的与应用

    根据CORBA规范,阐述了组件的体系结构和六种模型,并引申出八种方式,比较了各种
    发表于 02-27 16:07 ?29次下载
    COM和CORBA的<b class='flag-5'>桥</b><b class='flag-5'>接</b>与应用

    DS31256 HDLC控制器的配置步骤—模式

    DS31256 HDLC控制器的配置步骤—模式 本应用笔记提供了怎样配置模式下DS31
    发表于 04-21 14:59 ?1719次阅读
    DS31256 HDLC控制器的配置步骤—<b class='flag-5'>桥</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>

    网桥和,网桥和是什么意思

    网桥和,网桥和是什么意思 网桥(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系
    发表于 03-20 16:03 ?1.3w次阅读

    多个路由器如何无线成一个网络 路由器教程

    多个路由器如何无线成一个网络 路由器教程
    发表于 09-28 09:25 ?1次下载

    设计模式结构性:模式

    模式不是将两个不相干的类链接,而是将一个需要多维度变化的类拆分成抽象部分和实现部分,并且在抽象层对两者做组合关联,是用组合的方式来解决继承的问题。
    的头像 发表于 06-08 10:49 ?1187次阅读
    设计<b class='flag-5'>模式</b>结构性:<b class='flag-5'>桥</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>

    远程网关模式实现同一局域网组网管理(Superlink)

    远程网关模式配置介绍及示例功能简述智联物联远程网关模式,是指电脑侧Superlink远程
    的头像 发表于 04-26 15:32 ?1896次阅读
    远程网关<b class='flag-5'>桥</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>实现同一局域网组网管理(Superlink)

    模式应用场景

    1、什么是模式? Decouple an abstraction from its implementation so that the two can vary independently.
    的头像 发表于 10-09 14:30 ?1708次阅读
    <b class='flag-5'>桥</b><b class='flag-5'>接</b><b class='flag-5'>模式</b>应用场景

    路由器路由器怎样 路由器接好还是中继好

    路由器和中继是常用的网络扩展方式,用于扩大网络覆盖范围,提供更好的网络连接。这两种方式在不同的场景下有着各自的优势,下面将详细介绍如何路由器,以及
    的头像 发表于 02-20 14:26 ?8784次阅读

    网络模式是什么? 网络模式和路由模式的区别

    网络模式是一种网络连接方式,它可以将多个设备连接在一起,使它们可以相互通信。在网络模式
    的头像 发表于 05-10 13:48 ?6506次阅读

    与路由的区别 网络技术的应用

    (即第二层)的地址MAC来完成数据包转发。它通常用于连接同一网络层(如VLAN内或相同VRF内)的主机,使它们能够相互通信。的工作原理类似于交换机或网桥,它们通过识别数据包的目标MAC地址,将其转发到正确的端口或链路上。 路
    的头像 发表于 01-31 10:40 ?1724次阅读

    故障排除技巧

    在现代网络环境中,技术是连接不同网络段的关键组件。它不仅提高了网络的灵活性,还增强了数据传输的效率。然而,设备和配置可能会出现各种问题,导致网络连接中断或性能下降。 一、了解
    的头像 发表于 01-10 11:05 ?1344次阅读

    安装注意事项

    安装注意事项 1. 了解的基本概念 在进行安装之前,了解
    的头像 发表于 01-10 11:15 ?816次阅读