【JAVA設計模式】橋接模式
阿新 • • 發佈:2018-12-31
一、定義
橋接模式將抽象部分與它的實現部分分離,使它們都可以獨立的變化。這裡的實現指的是抽象類和它的派生類用來實現自己的物件。通俗點的理解,實現系統可能有多角度分類,每一種分類都有可能變化,那麼九八這種多角度分離出來讓它們獨立變化,減少它們之間的耦合。
二、UML類圖
三、實現
- 抽象類
package com.jthao.design.des.bridge;
public abstract class HandBrand {
protected HandSoft handSoft;
public void setHandSoft(HandSoft handSoft) {
this.handSoft = handSoft;
}
public abstract void run();
}
- 具體實現類A
package com.jthao.design.des.bridge;
public class HandBrandM extends HandBrand {
@Override
public void run() {
handSoft.run();
}
}
- 具體實現類B
package com.jthao.design.des.bridge;
public class HandBrandN extends HandBrand {
@Override
public void run() {
handSoft.run();
}
}
- 引用類
package com.jthao.design.des.bridge;
public abstract class HandSoft {
public abstract void run();
}
- 具體產品類A
package com.jthao.design.des.bridge;
public class HandAddress extends HandSoft {
@Override
public void run() {
System.out.println("通訊錄");
}
}
- 具體產品類B
package com.jthao.design.des.bridge;
public class HandGame extends HandSoft {
@Override
public void run() {
System.out.println("遊戲");
}
}
- 測試類
package com.jthao.design.des.bridge;
public class Test {
public static void main(String[] args) {
HandBrand hBrand = new HandBrandM();
hBrand.setHandSoft(new HandGame());
hBrand.run();
hBrand = new HandBrandN();
hBrand.setHandSoft(new HandAddress());
hBrand.run();
}
}