图解设计模式-Bridge模式
public abstract class DisplayImpl {public abstract void rawOpen(); public abstract void rawPrint(); public abstract void rawClose(); }
public class StringDisplayImpl extends DisplayImpl {private int width;private String string;public StringDisplayImpl(String string) {this.string = string;this.width = string.length();}@Overridepublic void rawOpen() {pringLine();}@Overridepublic void rawPrint() {System.out.println("|" + string + "|");}@Overridepublic void rawClose() {pringLine();}private void pringLine() {System.out.print("+");for(int i=0;i<width;i++) {System.out.print("-");}System.out.println("+");} }
public class Display {private DisplayImpl impl;public Display(DisplayImpl impl) {this.impl = impl;}public void open() {impl.rawOpen();}public void print() {impl.rawPrint();}public void close() {impl.rawClose();}public final void display() {open();print();close();} }
public class CountDisplay extends Display {public CountDisplay(DisplayImpl impl) {super(impl);}public void multiDisplay(int times) {open();for(int i=0;i<times;i++) {print();}close();} }
public class Main {public static void main(String[] args) {Display display1 = new CountDisplay(new StringDisplayImpl("display1"));Display display2 = new CountDisplay(new StringDisplayImpl("display2"));CountDisplay display3 = new CountDisplay(new StringDisplayImpl("display2"));display1.display();display2.display();display3.display();display3.multiDisplay(3);} }
结果:
+--------+
|display1|
+--------+
+--------+
|display2|
+--------+
+--------+
|display2|
+--------+
+--------+
|display2|
|display2|
|display2|
+--------+
转载于:https://www.cnblogs.com/use-D/p/9601524.html
图解设计模式-Bridge模式相关推荐
- java bridge 模式_学习:java设计模式—Bridge模式
一.引子 下面是吕振宇大牛的一个例子,个人觉得挺好的,有助于理解Bridge模式的设计目的: 设想要绘制一幅图画,蓝天.白云.绿树.小鸟,如果画面尺寸很大,那么用蜡笔绘制就会遇到点麻烦.毕竟细细的蜡笔 ...
- 图解设计模式- Mediator 模式
读书笔记 仅供参考 简述 Mediator 就是 仲裁者(中介者)模式.如果将程序看作许多类作为一个团队进行工作,那么团队的交流过程就是组员向仲裁者报告,仲裁者向组员下达指标,组员之间不再相互询问. ...
- 设计模式学习笔记——桥接(Bridge)模式
设计模式学习笔记--桥接(Bridge)模式 @(设计模式)[设计模式, 桥接模式, bridge] 设计模式学习笔记桥接Bridge模式 基本介绍 类的功能层次结构 类的实现层次结构 使用桥接模式的 ...
- C++设计模式-Bridge桥接模式
作用:将抽象部份与它的实现部份分离,使它们都可以独立地变化. 将抽象(Abstraction)与实现(Implementation)分离,使得二者可以独立地变化. 桥接模式号称设计模式中最难理解的模式 ...
- 设计模式之——bridge模式
Bridge模式,又叫桥接模式,是针对同一接口进行扩展与实现操作的一种设计模式. 这种模式,与之前学过的适配器模式具有相似的地方,也有不同的地方,下面就让我们一一解析吧. 首先,我们要了解到,为什么需 ...
- 说说设计模式~桥梁模式(Bridge)
在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种"多维度的变化"?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外 ...
- 【笔记整理】图解设计模式 | 第16章 Mediator模式(只有一个仲裁者)
[笔记整理]图解设计模式 | 导航 定义 组员向仲裁者报告,仲裁者向组员下达指示. 当发生麻烦事情的时候,通知仲裁者:当发生涉及全体组员的事情时,也通知仲裁者. 当仲裁者下达指示时,组员会立即执行.团 ...
- 设计模式--桥接模式(Bridge)
设计模式–桥接模式(Bridge) 1.定义 桥接模式:将抽象部分与它的实现部分分离,使它们可以独立地变化. 2.实例 设想如果要绘制矩形.圆形.椭圆.正方形,我们至少需要4个形状类,但是如果绘制的图 ...
- 设计模式(五)【Bridge模式】
Bridge模式 <设计模式>对Bridge模式的意图叙述为:将抽象与实现解耦,使它们都可以独立地变化.(一开始没太懂抽象为啥能和实现分离,后来读完才知道,这里的指A抽象与B实现解耦,而不 ...
最新文章
- fir.im Log Guru 正式开源,快速找到 iOS 应用无法安装的原因
- BestCoder Round #39 解题报告
- 4.2 算法之数论 185 反正切函数的应用 python
- [React-Native]样式和布局
- HTML基础 DOM概览(第一天)
- mui + php,GitHub - alphaphp/mui-kidApp: 基于 MUI 构建一个具有 90 +页面的APP应用
- [07-01]http网页提示含义
- POJ 2503-Babelfish(map)
- 20.SPDY_QUIC_HTTP2_HTTP3
- 【mpeg4】xvid参数分析
- 信号的平均功率与均方值
- 【MySQL-关键字】MySQL中的desc什么意思?有哪些作用?
- 如何在linux下配置网络桥接?-使初学者轻松远离ping不通的烦恼
- [论文阅读] (07) RAID2020 Cyber Threat Intelligence Modeling Based on Heterogeneous GCN
- Access to XMLHttpRequest at ‘http://localhost:8000/v1/users/staffs/‘ from origin ‘http://loca 报错
- 大数据分析的四个关键环节
- 总结常见的违背Rest原则的接口设计做法
- LDO参数解读、特性、参考设计
- 树莓派3B+ 叮当语音控制
- 关于videojs视频加载重试
热门文章
- 1028万!重庆统计局招标大数据平台,开建统计数据中台
- java面试题目前为止全内容收集
- 海康相机-SDK二次开发(NVR)-多相机IPCamera连接采集-opencv图像格式转换
- (转)MS Exchange揭开拨号音还原法的神秘面纱
- UE4通过SteamAudio实现3D立体声(HRTF)
- provider android简书,android FileProvider的使用
- 计算机网络体系结构前沿论文,计算机前沿技术趋势论文_计算机论文3000字_大一计算机导论论文1200字...
- 树莓派4B出现no wireless interfaces are found
- ecshop仿小米商城源码 带手机移动端
- 第五十一篇 并发编程——多进程