设计模式-桥接模式

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

    }

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

相关推荐
庄小焱5 小时前
设计模式——中介者设计模式(行为型)
设计模式
庄小焱7 小时前
设计模式——备忘录设计模式(行为型)
设计模式
庄小焱7 小时前
设计模式——代理设计模式(结构型)
设计模式
哆啦A梦的口袋呀8 小时前
基于Python学习《Head First设计模式》第三章 装饰者模式
python·学习·设计模式
哆啦A梦的口袋呀8 小时前
基于Python学习《Head First设计模式》第五章 单件模式
python·学习·设计模式
季鸢8 小时前
Java设计模式之备忘录模式详解
java·设计模式·备忘录模式
摘星编程12 小时前
工厂方法模式深度解析:从原理到应用实战
java·设计模式·软件工程·工厂方法模式
何中应13 小时前
【设计模式-4.7】行为型——备忘录模式
java·设计模式·备忘录模式
suixinger_lmh1 天前
功能结构整理
unity·设计模式·c#·源代码管理
冰茶_1 天前
建造者模式:优雅构建复杂对象
设计模式·微软·c#·.netcore·建造者模式·软件开发