Java二十三设计模式之-----桥接模式
一、桥接模式(Bridge)
桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。我们来看看关系图:
实现代码:
先定义接口:
- public interface Sourceable {
- public void method();
- }
分别定义两个实现类:
- public class SourceSub1 implements Sourceable {
- @Override
- public void method() {
- System.out.println("this is the first sub!");
- }
- }
- public class SourceSub2 implements Sourceable {
- @Override
- public void method() {
- System.out.println("this is the second sub!");
- }
- }
定义一个桥,持有Sourceable的一个实例:
- public abstract class Bridge {
- private Sourceable source;
- public void method(){
- source.method();
- }
- public Sourceable getSource() {
- return source;
- }
- public void setSource(Sourceable source) {
- this.source = source;
- }
- }
- public class MyBridge extends Bridge {
- public void method(){
- getSource().method();
- }
- }
测试类:
- public class BridgeTest {
- public static void main(String[] args) {
- Bridge bridge = new MyBridge();
- /*调用第一个对象*/
- Sourceable source1 = new SourceSub1();
- bridge.setSource(source1);
- bridge.method();
- /*调用第二个对象*/
- Sourceable source2 = new SourceSub2();
- bridge.setSource(source2);
- bridge.method();
- }
- }
output:
this is the first sub!
this is the second sub!
这样,就通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的调用。接下来我再画个图,大家就应该明白了,因为这个图是我们JDBC连接的原理,有数据库学习基础的,一结合就都懂了。
来源 https://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html
转载于:https://www.cnblogs.com/wuxinyiwu/p/8124859.html
Java二十三设计模式之-----桥接模式相关推荐
- Java二十三设计模式之-----原型模式
一.原型模式(Prototype) 原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.本小结会通 ...
- Java二十三设计模式之------工厂方法模式
一.工厂方法模式(Factory Method) 工厂方法模式有三种 1.普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.首先看下关系图: 举例如下:(我们举一个发送邮件和短 ...
- Java二十三设计模式之------迭代子模式
一.迭代子模式(Iterator) 顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松.这句话包含两层意思:一是需要遍历的对象,即聚 ...
- java桥接和装饰_设计模式:桥接模式和装饰模式
原标题:设计模式:桥接模式和装饰模式 一.桥接模式简介 1.基础描述 桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥梁模式的用意是&qu ...
- java 设计模式之桥接模式,策略模式
java 设计模式之桥接模式,策略模式 1.引出设计模式 相信大家都玩过王者荣耀这款游戏.我们知道现在大概有九十多个英雄且各自技能及背景故事.台词.被动都不一样而且还带着召唤师技能比如实现,惩戒,弱化 ...
- 云计算设计模式(二十三)——Throttling节流模式
云计算设计模式(二十三)--Throttling节流模式 控制由应用程序使用,一个单独的租户或整个服务的一个实例的资源的消耗.这样的模式能够同意系统继续执行并满足服务水平协议.即使当添加需求的资源放置 ...
- java 懒加载模式_JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
我写的程序员面试系列文章 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Jav ...
- Java二十三种设计模式 之代理(proxy)
Java二十三种设计模式 之代理(proxy) 今天我们学习一下静态代理和动态代理 我们来看代码(写一个坦克运行了多少时间): 第一种方法: public calss Tank implements ...
- 设计模式之桥接模式(Java语言描述)
桥接模式定义 將抽象部分与它的具体实现部分分离,使它们都可以独立地变化.它是一种对象结构型模式,又称为柄体模式或接口模式. Decouple an abstraction from its imple ...
- 如何让孩子爱上设计模式 ——10.桥接模式(Bridge Pattern)
如何让孩子爱上设计模式 --10.桥接模式(Bridge Pattern) 标签: 设计模式初涉 我有故事,你有酒吗?这年头写个技术文不讲个故事都不行,行,我讲: 还有发现很多的技术博文都开始有喜欢往 ...
最新文章
- Spring Batch_ItemReaders and ItemWriters
- 交换基本数据类型的方法swap,并影响到主方法
- 区块链技术之Fabric逻辑架构详解
- Intellij Idea搭建Spark开发环境
- 程序包管理器控制台 Add-Migration 用法
- Andrew Ng 如何重拾梦想
- Anaconda, Spyder更新导致Spyder环境奔溃
- 软件图形用户界面设计
- GitHub标星90K,这份持续霸榜的Leetcode刷题手册到底有多强?
- iMX6UL配置MCP2515模块(SPI转CAN)——基于迅为iTOP-iMX6UL开发板
- 应该来说没有什么太大的关系。因为计算精度既取决于你的级数的项
- 《云计算核心技术剖析》迷你书连载三 – 云计算的商业模式
- 微信群管理工具哪个好?最安全的微信群管理工具推荐!
- 微信公众号菜单html5,Vue.js 实现微信公众号菜单编辑器功能(一)
- 产品经理不再纸上谈兵——雾里看花的用户画像
- java vpa_使用VPA快速洞悉Java应用性能瓶颈
- 用计算机进行论文检索应用,计算机检索论文摘要怎么写 计算机检索论文摘要范文参考...
- 企业名称登记管理规定
- 组合数学——Nim取子游戏 太有趣了
- .NET Framework 4.6.2发布
热门文章
- Atitit 代理CGLIB 动态代理 AspectJ静态代理区别
- Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法??
- atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
- 网页图片显示分辨率与实际分辨率不一样
- 五种开源API网关实现组件对比
- 高频交易鼻祖竟是靠「金发女郎」取得了400%的年回报
- 博格和他的先锋集团创业史(3): 共同基金的先驱者
- 聪明贝塔(Smart Beta)
- 钉钉总裁不穷:周末最烦写周报还有被人钉
- 【预测模型】基于matlab GUI BP神经网络+最小二乘法预测模型【含Matlab源码 208期】