设计模式 -- 桥接模式(Bridge Pattern)
2023-09-14 09:00:30 时间
桥接模式 Bridge Pattern 结构设计模式
定义:
- 分离抽象部分和实现部分,使他们独立运行。
- 避免使用继承导致系统类个数暴增,可以考虑桥接模式。
- 桥接模式将继承关系转化为关联关系,减少耦合,减少代码量。
例如:
public interface Shape { public void bepaint(String color); }
public abstract class Color { Shape shape; public void setShape(Shape shape) { this.shape = shape; } public abstract void draw(); }
public class Red extends Color { @Override public void draw() { shape.bepaint("红色"); } }
public class Green extends Color { @Override public void draw() { shape.bepaint("绿色"); } }
public class Circle implements Shape { @Override public void bepaint(String color) { System.out.println(color + "的圆形"); } }
public class Square implements Shape { @Override public void bepaint(String color) { System.out.println(color + "的正方形"); } }
public class Test { /** * @param args */ public static void main(String[] args) { Shape circle_shape = new Circle(); Color red_color = new Red(); red_color.setShape(circle_shape); red_color.draw(); System.out.println("-----------------"); Shape square_shape = new Square(); red_color.setShape(square_shape); red_color.draw(); } }
实验结果:
红色的圆形 ----------------- 红色的正方形
桥接模式优缺点:
缺点:
设计难度比较大,要能正确识别系统中独立变化的维度,具有局限性。
优点:
- 实现抽象部分和实现部分的解耦,比继承的实现方案好点;
- 可扩充并无需修改原有系统;
相关文章
- 23种设计模式之备忘录模式
- 前端的设计模式系列-发布订阅模式
- 前端的设计模式系列-迭代器模式
- 【干货】思科ASA防火墙上配置透明模式的Failover Active/Acitve
- 一篇文章带你了解设计模式——行为型模式
- 一起学习设计模式--02.简单工厂模式
- 一起学习设计模式--06.建造者模式
- 一起学习设计模式--08.桥接模式
- 给女朋友讲设计模式 之 模板方法模式
- 设计模式 - 结构型模式_享元模式
- 【设计模式】设计模式总结 ( 七大设计原则 | 创建型模式 | 结构型模式 | 行为型模式 ) ★★★
- 【Flutter】Flutter 混合开发 ( Dart 代码调试 | Flutter 单独调试 | 混合模式下 Flutter 调试 )
- 解析Oracle数据库备份模式(oracle的备份模式)
- 模式Linux FTP主动模式深度解析(linuxftp主动)
- 切换Linux系统模式,实现多样化操作(linux切换模式)
- Oracle计费模式:实现更高性价比(oracle 收费方式)
- 解放双手Oracle多用户模式实现分工协作(oracle 几个用户)
- 深入了解Oracle中的关系数据模型(oracle中的关系模式)
- php设计模式Template(模板模式)
- 基于Android设计模式之--SDK源码之策略模式的详解
- Java设计模式之装饰者模式详解和代码实例