Briage桥接设计模式
目录
概念
程序模拟
版本一
版本二:礼物各种各样
版本三:类爆炸演示
版本四:桥接模式
在抽象和具体实现类两个维度同时发展,不会产生类爆炸的问题。
概念
程序模拟
版本一
帅哥类
GG要追MM,想要给MM礼物
public class GG {public void chase(MM mm) {Gift g = new Book();give(mm, g);}public void give(MM mm, Gift g) {}}
MM类
public class MM {String name;
}
礼物类
public abstract class Gift {}
public class Book extends Gift {}
public class Flower extends Gift {}
版本二:礼物各种各样
礼物有各种各样的,如果用继承的话,就会产生类的大爆炸!
public abstract class Gift {}
public class Book extends Gift {}
public class Flower extends Gift {}
public class WarmGift extends Gift {}
public class WildGift extends Gift {}
版本三:类爆炸演示
各种类型的礼物层出不穷:
/*** 或者从WarmGift继承* 或者从Flower继承*/
public class WarmFlower extends Flower {
}
版本四:桥接模式
public abstract class Gift {GiftImpl impl;
}
public class GiftImpl {}
public class WarmGift extends Gift {public WarmGift(GiftImpl impl) {this.impl = impl;}
}
public class WildGift extends Gift {public WildGift(GiftImpl impl) {this.impl = impl;}
}
public class Book extends GiftImpl {}
public class Flower extends GiftImpl {}
public class MM {String name;
}
这么来使用:
public class GG {public void chase(MM mm) {Gift g = new WarmGift(new Flower());give(mm, g);}public void give(MM mm, Gift g) {System.out.println(g + "gived!");}}
Briage桥接设计模式相关推荐
- Java设计模式(十五):桥接设计模式
1. 应用场景 假如你正在为一个新的人体工学且友好的电视遥控器编程.你要使用好的OO技能,让所有的遥控器都基于相同的抽象,对此抽象又做出不同的实现-每部不同型号的电视机都有自己的遥控器的实现. 2. ...
- java 桥梁模设计,Java设计模式学习篇(九)桥接设计模式
桥接模式(Bridge Pattern)就是把事物和其具体实现分开,使他们可以各自独立的变化.桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager ...
- 【设计模式--->结构型】叩心自问 :桥接设计模式
叩心自问1:什么是桥接模式? 典型的桥接问题 代码示例(桥接模式解决手机问题): 桥接模式在JDBC的应用: 桥接模式的注意事项和细节 叩心自问1:什么是桥接模式? sadasd桥接模式(Bridge ...
- 桥接设计模式(Bridge)
Bridge??? Bridge的意思是"桥梁".就像在现实世界中,桥梁的功能是将河流的两侧连接起来一样,Bridge模式的作用也是将两样东西连接起来,它们分别是类的功能层次结构和 ...
- 设计模式自学笔记007_Real(命令模式、备忘录模式、桥接模式)
设计模式自学笔记007_Real(命令模式.备忘录模式.桥接模式) 一.命令模式 在软件设计的过程中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道请求的操作是哪个.我们只需要 ...
- java设计模式桥接模式最详细讲解,从设计卷到开发看源码
为什么要使用设计模式? 说到底还是为了程序拓展和移植性,无法就是那几种设计思想 单一职责原则 , 开闭原则 里氏替换原则 ,依赖倒置原则,接口隔离原则,组合复用原则 迪米特法则这些思想和原则就是为 ...
- 浅谈设计模式-桥接模式
书接上回,本篇讲一下结构型模式-桥接设计模式 桥接设计模式 定义:将抽象部分与它的具体实现部分分离,使他们都可以独立的变化 实现:通过组合的方式建立两个类之间联系,而不是继承 这里得解释什么事抽象部分 ...
- 设计模式与软考试题之桥接模式
2009年上半年软件设计师考试下午试题最后一题考查桥接模式,原题如下: [全国计算机技术与软件专业技术资格(水平)考试 2009年上半年 软件设计师 下午试卷] 注:当年试题五.试题六和试题七三选一, ...
- 设计模式之Pimpl模式
Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对"类的接口与实现"进行解耦的方法.这个技巧可以避免在头文件中暴露私有细节(见下 ...
最新文章
- [Hive_add_8] Hive 常用参数配置
- Swift2.0语言教程之类的属性
- 【移动开发】Android中不用图片资源也能做出好看的界面
- Python基本语法_函数_参数的多类型传值
- javascript学习1---用dom对象动态控制表格
- 算法 | 数据结构与算法(代码版)
- 如何在Mac上安装win10正版系统
- 使用maxwell实时同步mysql数据到kafka
- CV Code|计算机视觉开源周报20200501期
- Spark SQL从入门到精通
- vue 实时显示当前时间
- 深入理解双线性插值算法
- 孟云飞 :一代通才 自成家数——赵之谦的艺术人生
- 其他干货——文章投稿之图片格式-位图vs.矢量图
- ddl是什么意思(ddl是什么意思(网络语ddl是什么梗))
- Burg法求解AR(p)模型参数(一)自回归模型
- 二元函数可微与偏导数_二元函数的连续、偏导数、可微之间的关系
- 决策树(Decision Tree)总结
- 2019 vs 安装odt_2019年12月14日罗马协会直播预告
- 计算机机考试卷分析,在线考试系统 ——试卷分析
热门文章
- 【Python基础】超级详解系列-Python列表全面解析
- 【NLP】几个NLP实用工具:不用重新造轮子
- 【经验分享】来到新公司,我所遇到的三重障碍
- 超越Swin,Transformer屠榜三大视觉任务!微软推出新作:Focal Self-Attention
- ECCV 2018 | OR-CNN行人检测:为‘遮挡’而生
- 8问8答,一篇文章读懂空间音效
- javascript一些基础用法
- [译] 关于Angular的变更检测(Change Detection)你需要知道这些
- python文件处理练习
- android studio 中 .9.png的制作