桥接(bridge)模式的定义如下: 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
1、抽象与实现分离,扩展能力强
2、符合开闭原则
3、符合合成复用原则
4、其实现细节对客户透明
立即学习“Java免费学习笔记(深入)”;
由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度。
可以将抽象化部分与实现化部分分开,取消二者的继承关系,改用组合关系。
案例: 蓝兔宫主买裙子
裙子分两个维度,分别是颜色和样式。
颜色有黄色和红色;
样式分长裙和短裙;
抽象化(Abstraction)角色: 颜色
HTML5微信网页调用监控直播软件实现了微信远程监控的功能。本代码实现了HTML5方式调用监控摄像头的实时直播画面,支持微信网页直接调用,PC电脑、安卓手机、苹果手机。特性一:支持市面上95%以上的摄像头直接接入。网络摄像机需支持标准协议ONVIF(所有的主流摄像机均已支持),模拟摄像机经过网关设备转码后100%支持;特性二:在PC电脑网页浏览情况下FLASH优先,在安卓(android),IPh
1
扩展抽象化(Refined Abstraction)角色: 黄色和红色
实现化(Implementor)角色: 样式
具体实现化(Concrete Implementor)角色: 长裙和短裙
颜色接口,声明一个show()抽象方法
public interface Color {
void show();
}黄色类并实现颜色接口
public class ColorYellow implements Color {
@Override
public void show() {
System.out.println("黄色的");
}
}红色类并实现颜色接口
public class ColorRed implements Color {
@Override
public void show() {
System.out.println("红色的");
}
}裙子类,声明一个颜色属性和一个抽象方法
abstract class Qun {
protected Color color;
protected Qun() {
}
protected Qun(Color color) {
this.color = color;
}
public abstract void shows();
}继承裙子类,并实现抽象方法
public class QunChang extends Qun {
protected QunChang() {
}
protected QunChang(Color color) {
super(color);
}
@Override
public void shows() {
System.out.println("长裙");
color.show();
}
}继承裙子类,并实现抽象方法
public class QunDuan extends Qun {
protected QunDuan() {
}
protected QunDuan(Color color) {
super(color);
}
@Override
public void shows() {
System.out.println("短裙");
color.show();
}
}new一个红色对象作为参数传给长裙。
public class Demo {
public static void main(String[] args) {
Color color = new ColorRed();
Qun qun = new QunChang(color);
qun.shows();
}
}
以上就是Java设计模式的桥接模式怎么实现的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号