java程序设计开发,设计思想开源框架-结构型模式之桥接模式
桥接模式概述
定义
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们都可以独立地变化。该模式通过组合的方式,将抽象和实现解耦,避免了抽象和实现之间的紧耦合,从而提高系统的可扩展性和可维护性。
核心角色
- 抽象化角色(Abstraction):定义抽象类,并包含一个对实现化对象的引用。
- 扩展抽象化角色(Refined Abstraction):是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用实现化角色中的业务方法。
- 实现化角色(Implementor):定义实现化角色的接口,供扩展抽象化角色调用。
- 具体实现化角色(Concrete Implementor):给出实现化角色接口的具体实现。
实际应用案例:图形与颜色的组合
// 实现化角色:颜色接口
interface Color {
void applyColor();
}
// 具体实现化角色:红色
class RedColor implements Color {
@Override
public void applyColor() {
System.out.println("Applying red color");
}
}
// 具体实现化角色:绿色
class GreenColor implements Color {
@Override
public void applyColor() {
System.out.println("Applying green color");
}
}
// 抽象化角色:图形抽象类
abstract class Shape {
protected Color color;
public Shape(Color color) {
this.color = color;
}
abstract void draw();
}
// 扩展抽象化角色:正方形
class Square extends Shape {
public Square(Color color) {
super(color);
}
@Override
void draw() {
System.out.print("Drawing a square. ");
color.applyCol