温州网站的优化,企业网站首页效果图设计与制作,享学课堂 移动互联网开发,莱芜融媒体中心网站文章目录 Java 设计模式之桥接模式概述UML代码实现 Java 设计模式之桥接模式
概述
桥接模式(Bridge)#xff1a;将抽象部分与它的实现部分分离#xff0c;使它们都可以独立地变化。通过桥接模式#xff0c;可以避免类爆炸问题#xff0c;并提高系统的可扩展性。
UML 核心… 文章目录 Java 设计模式之桥接模式概述UML代码实现 Java 设计模式之桥接模式
概述
桥接模式(Bridge)将抽象部分与它的实现部分分离使它们都可以独立地变化。通过桥接模式可以避免类爆炸问题并提高系统的可扩展性。
UML 核心思想
抽象部分定义高层的控制逻辑。实现部分定义底层的具体实现。桥接通过组合的方式连接抽象部分和实现部分。
角色
Implementor实现部分的接口定义行为。ConcreteImplementor具体实现部分类实现行为。Abstraction抽象部分的抽象类持有实现部分的引用。RefinedAbstraction具体抽象部分类实现具体的抽象逻辑。
例如图形绘制中的形状和颜色。
代码实现
假设我们需要绘制不同形状如圆形、矩形的图形并且这些图形可以使用不同的颜色如红色、绿色。使用桥接模式可以将形状和颜色分离使它们可以独立扩展。
定义部分实现的接口
public interface Color {void applyColor();
}定义具体的部分实现类
public class Red implements Color {Overridepublic void applyColor() {System.out.println(使用红色);}
}public class Green implements Color {Overridepublic void applyColor() {System.out.println(使用绿色);}
}定义抽象实现的抽象类
public abstract class Shape {protected Color color;public Shape(Color color) {this.color color;}public abstract void draw();
}定义具体的抽象实现类
public class Rectangle extends Shape {public Rectangle(Color color) {super(color);}Overridepublic void draw() {System.out.println(绘制矩形);color.applyColor();}
}public class Circle extends Shape {public Circle(Color color) {super(color);}Overridepublic void draw() {System.out.println(绘制圆形);color.applyColor();}
}使用
public class Client {public static void main(String[] args) {Red red new Red();Green green new Green();Shape redCircle new Circle(red);Shape greenCircle new Circle(green);redCircle.draw();greenCircle.draw();}
}输出
绘制圆形
使用红色
绘制圆形
使用绿色