介面卡模式 和 裝飾模式 個人的理解筆記
阿新 • • 發佈:2019-01-25
介面卡模式:
interface Target{
public void request();
}
class Adapter1{
public void specificRequest(){
system.out.println(" 這個是個特殊方法,要被包裝起來“);
}
}
1、物件介面卡
class Adapter implements Target{
private Adapter1 adapter1;
public Adapter(Adapter1 adapter1){
this.adapter1 = adapter1;
public void request(){
this.adapter1.specificRequest(); // 這裡是是用委託的方式完成特殊功能。
}
}
}
2、類介面卡
class Adapter extends Adapter1 implements Target{
public void request(){
super.specificRequest();
}
}
裝飾模式:
裝飾模式和介面卡模式的類比:
從定義上看裝飾模式是對核心物件或者功能的擴充套件,介面卡模式是把物件或者功能放到一個新物件中引用。舉個例子,現在書城賣道德經的書,有線裝版,有精裝版,有日文版,有英文版,其中線裝版和精裝版就是裝飾模式,日文版和英文版就是介面卡模式,各種版本都是為迎合不同消費者的不同需求。為什麼呢?因為線裝版和精裝版的道德經雖然包裝不同,但內容相同,日文版和英文版就不同,這兩個版本的內容就可能和原版的不同,文化差異嘛,翻譯的內容雖來自道德經,但根據不同國家的文化,思維邏輯什麼的就可能改變一些想法。