论坛
Ai合集
开源相关
教程
论坛
Ai合集
开源相关
教程
游客
注册
登录
DesignPattern Java 23种设计模式全归纳
1. 观察者模式
2. 工厂模式
1、静态工厂模式
2、简单工厂模式(店里买肉夹馍)
3、工厂方法模式(开分店)
4、抽象工厂模式(使用官方提供的原料)
3. 单例设计模式
4. 策略模式
5. 适配器模式
6. 命令模式
7. 装饰者模式
8. 外观模式
9. 模板方法模式
10. 状态模式
11. 建造者模式
12. 原型模式
13. 享元模式
14. 代理模式
15. 桥接模式
16. 组合模式
17. 迭代器模式
18. 中介者模式
19. 备忘录模式
20. 解释器模式
21. 责任链模式
22. 访问者模式
wiki.1024.pm IT论坛
-
+
首页
15. 桥接模式
### 15. 桥接模式 > 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 - **主要解决**:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。 以画不同颜色的圆为例,实现共分五步: - 1、创建桥接实现接口。 ```java public interface DrawAPI { void drawCircle(int radius, int x, int y); } ``` - 2、创建实现了 DrawAPI 接口的实体桥接实现类。[RedCircle](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/bridge/RedCircle.java)、[GreenCircle](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/bridge/GreenCircle.java) ```java public class RedCircle implements DrawAPI { @Override public void drawCircle(int radius, int x, int y) { Log.e("---", "Drawing Circle[ color: red, radius: " + radius + ", x: " + x + ", " + y + "]"); } } ``` - 3、使用 DrawAPI 接口创建抽象类 [Shape](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/bridge/Shape.java)。 ```java public abstract class Shape { protected DrawAPI drawAPI; protected Shape(DrawAPI drawAPI) { this.drawAPI = drawAPI; } public abstract void draw(); } ``` - 4、创建实现了 Shape 接口的实体类。 ```java public class Circle extends Shape { private int x, y, radius; protected Circle(int x, int y, int radius, DrawAPI drawAPI) { super(drawAPI); this.x = x; this.y = y; this.radius = radius; } @Override public void draw() { drawAPI.drawCircle(radius, x, y); } } ``` - 5、使用 Shape 和 DrawAPI 类画出不同颜色的圆。 ```java // 画红圆 Circle circle = new Circle(10, 10, 100, new RedCircle());s circle.draw(); // 画绿圆 Circle circle2 = new Circle(20, 20, 100, new GreenCircle()); circle2.draw(); ```
1024wiki
2026年8月11日 13:41
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档(打印)