设计模式-桥接模式

桥接模式(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(); // 输出:绘制蓝色的正方形

    }

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

相关推荐
bryant_meng16 小时前
【Codex】Part 19 — Codex Prompt Design Patterns
设计模式·prompt·playbook·结果优先·用证据定义完成
AI人工智能+电脑小能手17 小时前
大白话说Java设计模式-38-迭代器模式(业务实战篇)
java·设计模式·迭代器模式·stream·遍历封装·集合通用·分页遍历
qyyyyy57019 小时前
芯片 Application Note PDF 怎么读?参考电路、BOM 和调试波形翻译实战
嵌入式硬件·设计模式·机器翻译·web application
程序员贺加贝1 天前
列表导出不够用-SaaS-ERP-单据详情导出的-Provider-模板与文档型-Excel-设计
java·后端·设计模式·架构·excel
AI人工智能+电脑小能手2 天前
大白话说Java设计模式-34-命令模式(业务实战篇)
java·spring·设计模式·命令模式·异步任务·撤销重做·事务封装
用户202252215062 天前
字节发布"豆包工作",我从AI PM角度看到的不是功能,是上下文
设计模式
AI人工智能+电脑小能手2 天前
大白话说Java设计模式-37-中介者模式(源码剖析篇)
java·设计模式·线程池·中介者模式·源码分析·executor·applicationeventmulticaster
电子科技圈2 天前
IAR与东软睿驰达成战略合作,强化软件开发效率与生态协作
设计模式·开源·软件工程·软件构建·代码规范·设计规范·代码复审
吴声子夜歌2 天前
Java面试——设计模式(四)
java·设计模式·面试
吴声子夜歌3 天前
Java面试——设计模式(一)
java·设计模式·面试