橋接模式Bridge

簡介

 Bridge 模式又叫作橋接模式,是構造型的設計模式之一。Bridge模式基於類的最小設計原則,經過使用封裝,聚合以及繼承等行爲來讓不一樣的類承擔不一樣的責任。它的主要特色是把抽象(abstraction)與行爲實現(implementation)分離開來,從而能夠保持各部分的獨立性以及應對它們的功能擴展。橋接模式是全部面向對象模式的基礎,經過對橋接模式的學習來理解設計模式的思想。設計模式

類圖

 

源碼

開關(橋接)ide

public class Switch {
    public Device device; public Device getDevice() { return device; } public void setDevice(Device device) { this.device = device; } public void on() {
        System.out.println("開關打開");
    }

    public void off() {
        System.out.println("開關關閉");
    }
}

二插頭學習

public class TwoSwitch extends Switch {
    @Override
    public void on() {
        System.out.println("二插座打開");
    }

    @Override
    public void off() {
        System.out.println("二插座關閉");
    }
}

三插頭測試

public class ThreeSwitch extends  Switch {
    @Override
    public void on() {
        System.out.println("三插座打開");
    }

    @Override
    public void off() {
        System.out.println("三插座關閉");
    }
}

電器this

public interface Device {
    public void powerOn();

    public void powerOff();
}

電視spa

public class TV implements Device {
    public void powerOn() {
        System.out.println("打開電視");
    }

    public void powerOff() {
        System.out.println("關閉電視");
    }
}

電腦設計

public class PC implements Device {
    public void powerOn() {
        System.out.println("打開電腦");
    }

    public void powerOff() {
        System.out.println("關閉電腦");
    }
}

測試code

public class Main {
    public static void main(String[] args) {
        Switch twoSwitch = new TwoSwitch();
        Switch threeSwitch = new ThreeSwitch();
        Device pc = new PC();
        Device tv = new TV();
        twoSwitch.setDevice(tv);
        threeSwitch.setDevice(pc);
        twoSwitch.getDevice().powerOn();
        threeSwitch.getDevice().powerOn();
    }
}

結果對象

打開電視
打開電腦
相關文章
相關標籤/搜索