当前位置:   article > 正文

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦,使得它们可以独立扩展。

在桥接模式中,通常包含以下四个角色:

1、实现化(Implementor)角色:定义实现化角色的接口,这个接口不一定要与抽象化角色的接口完全一致,但一般来说,实现化角色的接口应当与抽象化角色的接口相类似。

// 实现化角色(Implementor)  
public interface Color {  
    void fill();  
} 
  • 1
  • 2
  • 3
  • 4

2、具体实现化(ConcreteImplementor)角色:实现角色接口,实现具体的业务逻辑。

// 具体实现化角色(ConcreteImplementor)  
public class Red implements Color {  
    @Override  
    public void fill() {  
        System.out.println("用红色填充");  
    }  
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
public class Blue implements Color {  
    @Override  
    public void fill() {  
        System.out.println("用蓝色填充");  
    }  
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、抽象化(Abstraction)角色:定义抽象类的接口,并保存一个对应实现化对象的引用。

public abstract class Shape {  
    protected Color color;  
  
    public Shape(Color color) {  
        this.color = color;  
    }  
  
    public abstract void draw();  
  
    public void setColor(Color color) {  
        this.color = color;  
    }  
  
    public Color getColor() {  
        return color;  
    }  
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4、扩展抽象化(RefinedAbstraction)角色:实现抽象化角色定义的接口,并扩展抽象化角色。扩展抽象化角色需要更新对实现化对象的引用,以间接调用实现化角色的方法。

public class Circle extends Shape {  
    public Circle(Color color) {  
        super(color);  
    }  
  
    @Override  
    public void draw() {  
        System.out.println("绘制圆形...");  
        color.fill();  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

具体代码引用

	public static void main(String[] args) {  
        Shape redCircle = new Circle(new Red());  
        redCircle.draw();//用红色
  
        Shape blueCircle = new Circle(new Blue());  
        blueCircle.draw();//用蓝色
    }  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/729557
推荐阅读
相关标签
  

闽ICP备14008679号