设计模式-桥接模式

桥接模式(Bridge)是结构型模式

它将抽象部分实现部分解耦,使二者可以独立变化,通过组合关系代替继承关系来连接不同的维度。

颜色类

java 复制代码
public interface Color {
    String applyColor();
}

颜色实现类

java 复制代码
class Blue implements Color {
    @Override
    public String applyColor() {
        return "蓝色";
    }
}
java 复制代码
class Red implements Color {
    @Override
    public String applyColor() {
        return "红色";
    }
}

形状类抽象

java 复制代码
abstract class Shape {
    protected Color color;  // 组合颜色实现

    public Shape(Color color) {
        this.color = color;
    }

    public abstract void draw();
}

形状实现类

java 复制代码
class Circle extends Shape {
    public Circle(Color color) {
        super(color);
    }

    @Override
    public void draw() {
        System.out.println("绘制" + color.applyColor() + "的圆形");
    }
}
java 复制代码
class Square extends Shape {
    public Square(Color color) {
        super(color);
    }

    @Override
    public void draw() {
        System.out.println("绘制" + color.applyColor() + "的正方形");
    }
}

主函数

java 复制代码
    public static void main(String[] args) {

            // 红色圆形
            Shape redCircle = new Circle(new Red());
            redCircle.draw();  // 输出:绘制红色的圆形

            // 蓝色正方形
            Shape blueSquare = new Square(new Blue());
            blueSquare.draw(); // 输出:绘制蓝色的正方形

    }

创建不同形状颜色的图形时,需要组合类,不过对于类的增长爆炸并没有完全规避掉,只是减少了部分累的冗余

相关推荐
LoveC5214 小时前
设计模式之适配器模式
设计模式·适配器模式
永卿0016 小时前
设计模式-责任链模式
java·设计模式·责任链模式
Codebee10 小时前
OneCode 3.0 智能数据处理:快速视图中的智能分页与 @PageBar 注解详解
后端·设计模式
Codebee10 小时前
OneCode 3.0智能分页拦截器深度解析:从拦截机制到性能优化
后端·设计模式
是2的10次方啊10 小时前
🎭 Java设计模式详解:让代码优雅如诗的秘密武器
设计模式
python_13611 小时前
python设计模式-工厂模式
开发语言·python·设计模式
k *11 小时前
c++:设计模式训练
设计模式
牛奶咖啡1314 小时前
学习设计模式《二十》——解释器模式
学习·设计模式·解释器模式·认识解释器模式·解释器模式的优缺点·何时使用解释器模式·解释器模式的示例
北_鱼15 小时前
设计模式1:创建型模式
java·设计模式·软件工程·代码规范·设计规范
使一颗心免于哀伤16 小时前
《设计模式之禅》笔记摘录 - 12.适配器模式
笔记·设计模式