设计模式-桥接模式

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

    }

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

相关推荐
染指111010 小时前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
sarasuki16 小时前
Agent 是怎么做错误处理的呢?
人工智能·设计模式·agent
A1Book16 小时前
从 0 设计历史专题资料汇编的 AI Agent 编排架构——六轮真实任务复盘
设计模式
geovindu2 天前
rust: Simple Factory Pattern(续)
后端·设计模式·rust·简单工厂模式·创建型模式
喜欢coding的谢同学2 天前
Go语言常用设计模式基础和实践案例介绍
开发语言·设计模式·golang
sarasuki3 天前
Agent 的记忆有几种?你的名字是?
人工智能·设计模式·agent
geovindu3 天前
rust: Flyweight Pattern
开发语言·后端·设计模式·rust·享元模式·结构型模式
沫璃染墨3 天前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
十六宿舍3 天前
【软件设计模式-第一课:基础知识了解】
设计模式·架构·面向对象·软件架构
geovindu4 天前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式