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(); } }
結果對象
打開電視
打開電腦