首页 > 其他分享 >桥接模式-09

桥接模式-09

时间:2023-06-20 11:55:20浏览次数:32  
标签:桥接 void 09 模式 other Implementor class impl

概述

桥接模式 (Bridge Pattern) 又称柄体 (Handle and Body) 模式、接口模式。它将可能有着继承关系的对象的抽象和实现分离,使得两者可以独立地变化。

优点:分离了抽象部分和实现部分,提高了灵活性和可扩展性,隐藏了实现的细节。
缺点:降低了系统可理解性,提高了设计难度,有一定的局限性。

interface Implementor {
  void a();
}

class Sub1Impl implements Implementor {
  void a() {
    //
  }
}

class Sub2Impl implements Implementor {
  void a() {
    //
  }
}

abstract class Abtract {
  Implementor impl;
  
  abstract void b();
}

class Sub1 extends Abstract {
  b() {
    // other
    impl.a();
    // other
  }
}

class Sub2 extends Abstract {
  b() {
    // other
    impl.a();
    // other
  }
}

图示:
image

参考

[1]. 刘伟, 设计模式. 2011.

标签:桥接,void,09,模式,other,Implementor,class,impl
From: https://www.cnblogs.com/xdreamc/p/16461740.html

相关文章

  • 【OpenGL修行】点线面模式设置
    文章目录点点的大小切换线线的宽窄设置虚线绘制多边形多边形正反绘制&反转多边形表面剔除多边形表面镂空通过初始化数组设置镂空样式通过读取bmp文件设置镂空样式点点的大小切换通过glPointSize()函数即可实现点的大小控制,我画了两个大小不同的点,还是挺明显的。voiddisplay1(){......
  • Java设计模式之代理模式--经纪人的工作
    前言本文主要讲述代理模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。一.什么是代理模式代理模式是23种设计模式中结构型模式的一种,它的核心是通过代理类来完成其他对象的访问,降低访问者和被访问者的耦合度,也对功能进行了增强。二.生活中的代理......
  • PAT (Advanced Level) Practice_1095 Cars on Campus (30分)(C++_模拟)
    ZhejiangUniversityhas8campusesandalotofgates.Fromeachgatewecancollectthein/outtimesandtheplatenumbersofthecarscrossingthegate.Nowwithalltheinformationavailable,youaresupposedtotell,atanyspecifictimepoint,thenu......
  • P1095 守望者的逃离(C++_贪心_模拟/dp)
    题目描述恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度......
  • 万字详解常用设计模式
    本文是博主在工作中对常用设计模式的使用经验总结归纳而来分享给大家。设计模式一共有23种,本文讲解涉及如下:责任链模式模板方法模式发布订阅模式策略模式三大分类业界一般将设计模式分为三大类:创建型模式:对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象......
  • Go 设计模式|组合,一个对数据结构算法和职场都有提升的设计模式
    Go设计模式|组合,一个对数据结构算法和职场都有提升的设计模式原创 KevinYan11 网管叨bi叨 2023-01-1608:45 发表于北京收录于合集#用Go学设计模式24个大家好,我是每周在这里陪你进步的网管~,这次我们继续设计模式的学习之旅。本次要学习的是组合模式,这个模式呢,平时要做......
  • SAP Commerce Cloud的SmartEdit 不同模式的介绍
    SAPCommerceCloud的SmartEdit提供了不同的模式(Mode),包括PreviewMode(预览模式)、BasicEditMode(基本编辑模式)和AdvancedEditMode(高级编辑模式)。这些模式为用户提供了不同的功能和工作环境,以满足其编辑和管理网站内容的需求。PreviewMode(预览模式):PreviewMode是SmartEdit的......
  • python3 subprocess.getoutput(cmd) 执行linux命令进入交互模式后一直卡住了
    进入交互模式是我们预期之外的,记录一下。进入交互之后linux一直等待你的输入,所有subprocess.getoutput()就一直卡着呢~,我们加入timeout通过学习subprocess中支持timeout有:getoutput并不支持timeout参数尝试了callcheck_allcheck_output这几个方法之后并不能解决Linux交......
  • 工厂方法设计模式
    工厂方法模式使我们能够在不将创建逻辑暴露给客户端的情况下创建对象,并使用通用接口引用新创建的对象。它是最广泛使用的创作模式之一。此模式也称为  虚拟构造函数。根据 Gamma等人的DesignPatterns,这种模式的目的  是:定义用于创建对象的接口,但让子类决定实例化哪个类。Fact......
  • ORA-14099: all rows in table do not qualify for specified partition
    1.创建分区表createtablerange_part_range(idnumber,deal_datedate,contentsvarchar2(1000))partitionbyrange(deal_date)(partitionp1valueslessthan(to_date('2015-01-21','yyyy-mm-dd')),partitionp2valueslessthan(to_date......