適配器模式 (Adapter)
將一個類的接口轉換成客戶希望的另外一個接口。
Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。
適配器模式是一種結構型模式。
結構
圖-適配器模式結構圖
Target : 定義用戶實際需要的接口。
abstract class Target {
public abstract void Request();
}
Adaptee : 定義一個需要適配的接口。
class Adaptee {
public void SpecificRequest() {
System.out.println("特殊請求");
}
}
Adapter : 通過在內部包裝一個 Adaptee 對象,把源接口轉換成目標接口。
class Adapter extends Target {
private Adaptee adaptee = new Adaptee();
@Override
public void Request() {
adaptee.SpecificRequest();
}
}
測試代碼
public class AdapterPattern {
public static void main(String[] args) {
Target target = new Adapter();
target.Request();
}
}
運行結果
特殊請求
應用場景
想要使用一個已經存在的類,但如果它的方法不滿足需求時;
兩個類的職責相同或相似,但是具有不同的接口時要使用它;
應該在雙方都不太容易修改的時候再使用適配器模式適配,而不是一有不同時就使用它。
閱讀更多 java執行官 的文章