常见的设计模式 ----- 桥接模式
桥接模式
Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。
像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。
下面还是以票务系统为例:
票务系统接口定义
2 void buyTicket();
3 }
接下来是两个实现类
汽车票
2
3 public void buyTicket() {
4 System.out.println("buy a busTickets!");
5 }
6
7 }
火车票
2
3 public void buyTicket() {
4 System.out.println("buy a trainTickets!");
5 }
6
7 }
桥的抽象定义
2 private TicketsSystem system;
3
4 public TicketsSystem getSystem() {
5 return system;
6 }
7
8 public void setSystem(TicketsSystem system) {
9 this.system = system;
10 }
11
12 }
桥的实例
2
3 public TicketsManager(TicketsSystem system){
4 setSystem(system);
5 }
6
7 @Override
8 public void buyTicket() {
9 getSystem().buyTicket();
10
11 }
12
13 }
测试:
2 public static void main(String[] args) {
3 TicketsManager manager;
4 BusTickets bus = new BusTickets();
5 manager = new TicketsManager(bus);
6 manager.buyTicket();
7
8 TrainTickets train = new TrainTickets();
9 manager = new TicketsManager(train);
10 manager.buyTicket();
11 }
12 }
转载于:https://www.cnblogs.com/keyiei/p/3598240.html
常见的设计模式 ----- 桥接模式相关推荐
- 23种设计模式——桥接模式
文章目录 23种设计模式--桥接模式 1.桥接模式概述 2.桥接模式结构 3.桥接模式的实现 4.桥接模式的注意事项和细节 23种设计模式--桥接模式 1.桥接模式概述 桥接模式介绍 桥接(Bridg ...
- Python设计模式-桥接模式
Python设计模式-桥接模式 基于Python3.5.2,代码如下 #coding:utf-8class Shape():name = ""param = "" ...
- 【学习笔记】ABAP OOD设计模式 - 桥接模式
ABAP OOD设计模式 - 桥接模式 整理转自-<SAP ABAP 面向对象程序设计(原则.模式及实践)> 桥接模式又称为桥梁模式,在程序开发中,采用不同的维度分解一系列对象,然后采用组 ...
- 跟着ZHONGHuan学习设计模式--桥接模式
转载请注明出处! ! !http://blog.csdn.net/zhonghuan1992 全部配套代码均在github上:https://github.com/ZHONGHuanGit/Desig ...
- 2.设计模式-桥接模式
文章目录 一.使用场景 二.实现方法 三.优势与劣势 四.经典案例 本文笔记来自于: 狂神的设计模式 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化.它是一种对象结构模型,又称为柄体( ...
- 设计模式--桥接模式(Bridge)
设计模式–桥接模式(Bridge) 1.定义 桥接模式:将抽象部分与它的实现部分分离,使它们可以独立地变化. 2.实例 设想如果要绘制矩形.圆形.椭圆.正方形,我们至少需要4个形状类,但是如果绘制的图 ...
- linkin大话设计模式--桥接模式
linkin大话设计模式--桥接模式 桥接模式是一种结构化模式,他主要应对的是:由于实际的需要,某个类具有2个或者2个以上维度的变化,如果只是使用继承将无法实现功能,或者会使得设计变得相当的臃肿.我们 ...
- 设计模式——桥接模式实验报告
目录 设计模式--桥接模式实验报告 一.实验题目 二.所用模式结构视图 三.本实例类图 四.实例实现代码 1.抽象消息类 2.普通消息类 3.加急消息类 4.特急消息类 5.实现发送消息的统一接口: ...
- 设计模式 -- 桥接模式(Bridge)
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- 主要内容包括: 初始桥接 ...
- Java设计模式-桥接模式 理论代码相结合
继Java设计模式-装饰器模式后的桥接模式出来了,感兴趣的话,就来看一看吧. 会了就当复习丫,不会来一起来看看吧. 很喜欢一句话:"八小时内谋生活,八小时外谋发展". 如果你也喜欢 ...
最新文章
- Django之forms组件
- 预测人民币在2006年最终的收盘价
- GetLogicalDrives GetDriveType GetVolumeInformation和FindVolumeClose
- Linux知识点复习
- win7-64bit下基于VMware12.5安装rhel-server-6.3-i386
- 篇三:访问JSON静态文件
- ELK Stack 与 Elastic Stack 的异同点
- 剑指offer——15.二进制中1的个数
- LINUX编译opencv
- Java用itext工具根据模板生成PDF
- arm-linux-gcc stdio.h,arm-linux-gcc stdio.h no such file or directory错误
- elasticsearch: RequestError(400, ‘parse_exception‘, ‘unknown key [mapping] for create index‘)
- android onkeydown()简介
- SOI round0 题解
- 宝儿姐告诉我学习数据库这一篇就差不离了
- Y480安装联想一键恢复
- #青春有未来,我和华为云的故事#
- 「Python ​正则」使用专题总结
- 如何提取一个转录本的3'UTR区域的序列
- 智慧供热解决方案概述