桥接模式(Bridge Pattern)是一种结构型设计模式,它允许你将一个类的功能划分为多个独立的类,以便各个部分可以独立地变化和复用。
在桥接模式中,我们通常有两个接口:一个定义了抽象组件(Abstract Component),另一个定义了具体桥接(Concrete Bridge)。抽象组件接口通常包含一些基本操作,而具体桥接接口则实现了这些操作。
以下是桥接模式的结构图:
+----------------+ +----------------+
| Abstract | | Concrete |
| Component | | Bridge |
+----------------+ +----------------+
^ / ^
| / |
v / v
+----------------+ +----------------+
| Abstract | | Concrete |
| Usage | | Usage Concrete|
+----------------+ +----------------+
在上面的结构图中,抽象组件和具体桥接之间的关系是聚合关系,而抽象使用和具体使用之间的关系是继承关系。
以下是一个简单的桥接模式示例:
// 抽象组件接口
interface Shape {
void draw();
}
// 具体桥接接口
interface Color {
void fill();
}
// 实现具体桥接接口的类
class Red implements Color {
public void fill() {
System.out.println("Red color fill");
}
}
class Blue implements Color {
public void fill() {
System.out.println("Blue color fill");
}
}
// 实现抽象组件接口的类,该类聚合了具体桥接接口的实例
class Circle implements Shape {
private Color color;
public Circle(Color color) {
this.color = color;
}
public void draw() {
System.out.println("Circle - Draw");
color.fill(); // 通过聚合调用具体桥接接口的方法
}
}
在上面的示例中,我们通过抽象组件和具体桥接的聚合关系,实现了将颜色的填充功能从形状绘制中解耦出来。现在我们可以独立地改变形状的绘制和颜色的填充。
为您推荐与 设计模式 相关的帖子:
暂无回复。