1. 程式人生 > >設計模式之橋接模式(Bridge Pattern)

設計模式之橋接模式(Bridge Pattern)

設計模式之橋接模式(Bridge Pattern)
備註:只是瞭解了大概,在實際應用中還沒有

1.用處
將抽象部分與實現部分分離,使它們都可以獨立的變化。
2. 分類
結構型模式
3. UML
4. 程式碼

測試類Test

public class Test {
    public static void main(String[] args) {
        Shape circle= new Circle(0, 0, 2, new RedCircle()) ;
        circle.draw();
        
    }
}

實體

**抽象實體Shape**
public abstract class Shape {
    protected DrawAPI drawApi;//介面的功能

    public Shape(DrawAPI drawApi) {
        super();
        this.drawApi = drawApi;
    }
    
    public abstract void draw();//實體的功能
    
}
**具體實體 -圓Circle** 
public class Circle extends Shape {
    private int x, y, radius;

    public Circle(int x, int y, int radius, DrawAPI drawApi) {
        super(drawApi);
        this.x = x;
        this.y = y;
        this.radius = radius;
    }

    @Override
    public void draw() {
        this.drawApi.drawCirCle(radius, x, y);
    }

}

介面

public interface DrawAPI {
    public void drawCirCle(int radius,int x,int y);
}
**介面的實現**
public class RedCircle implements DrawAPI{

    @Override
    public void drawCirCle(int radius, int x, int y) {
        System.out.println("畫一個紅圈");
    }

}