比如你有乙個兩頭插頭,但是發現卻沒有兩頭插座,只有三頭插頭,這時你就需要乙個插頭轉換器,特點是它自身是三頭插頭,身上帶有乙個兩頭插座。這就是介面卡表現,這轉換器可以理解為是介面卡類,三頭插座,理解為原有系統的介面是三頭的插座,而這介面卡實現了三頭插頭的介面,並且帶有二頭插座的引用。理解並不難。
定義:將乙個類的介面,轉換成客戶期望的另乙個介面,介面卡讓原來介面不相容的類可以合作無間。
類圖:
(**例子
原來的介面
public
inte***ce
duck
public
class
mallardduck
implements
duck
@override
public
void
fly()
}要被適配的介面
public
inte***ce
turkey
介面卡public
class
turkeyadapter
implements
duck
public
void
quack()
@override
public
void
fly()
}}public
class
wildturkey
implements
turkey
@override
public
void
fly()
}客戶端
public
class
ducktestdrive
static
void testduck(duck duck)
}
外觀模式:提供了乙個統一的介面,用來訪問子系統中的一群介面,外觀定義了乙個高層介面,讓子系統更容易使用。
個人感覺這個模式沒啥意思,說白了就是定義乙個外觀類,運用組合的方式放入所需要的物件引用。然後定義方法,按所需要求進行呼叫就行。
當然這裡涉及乙個原則:最少知識原則:只和你的密友談話。
具體點就是:
該物件本省
被當做方法的引數而傳遞進來的物件
此方法所建立或例項化的任何物件
物件的任何元件
上面要求盡力達到。
介面卡模式 外觀模式
介面卡模式在實際中用的比較多 其實設計模式的思想在平時寫 中都能體現出來 比如在要實現乙個功能的時候需要去呼叫別人寫的介面。但是,這裡往往就會出現問題,因為別人的介面都是他們根據自己的情況設計出來的。這個時候就需要介面卡模式了。我們寫乙個自己的物件和介面,在介面中呼叫他們的介面把資料取回來,把自己的...
設計模式 介面卡模式與外觀模式
2015年1月31日21 00 07 說實話我覺得介面卡模式和外觀模式就是乙個意思,區別就在於使用初衷。另外介面卡模式和裝飾者模式很像,根據需要自己選擇使用那一種。介面卡模式的本質是對被適配的乙個或者多個類進行包裝以提供乙個目標格式的介面,對於呼叫者來說,被適配者的呼叫過程是透明的。介面卡模式是為了...
設計模式 介面卡與外觀模式
介面卡模式 將乙個類的介面,轉換成客戶期待的另乙個介面,介面卡讓原本介面不相容的類可以合作無間。外觀模式 提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。外觀模式白話 開啟電視,你要插電源,再按下遙控的 開 鍵,同時為了你要由音量,也要把音量鍵 開 按一...