近來專案中介面應用到了介面卡,簡單的記錄一下是配置模式。
原理如下圖:
a為我們工程能夠呼叫的介面,但我想呼叫的是介面c,所以我們中間採用介面卡,達到間接的呼叫c介面。
上**說明:
我們可以呼叫的介面規範a:
public inte***ce a
我們想呼叫的介面c
public inte***ce c
介面c的實現類
public class cimpl implements c
}
介面卡:
public class adapter implements a
}
介面卡實現了標準的介面a,再在介面的方法裡面呼叫我們想調的方法,實現了
我們通過呼叫介面卡,間接的呼叫我們想呼叫的方法
測試結果:
在我的專案中,因為我的介面有多個實現類,使用@autowired自動封裝時,需要指定具體的實現類
使用到了註解@qualifier,大家一定要注意,例如@qualifier("userservice"),userservice一定要小寫開頭。
簡單的介紹到這裡
擦鳥出品,不足或錯誤之處,歡迎指出。
設計模式之介面卡模式(類介面卡模式)
介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...
設計模式之 介面卡模式
1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...
設計模式之介面卡模式
介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...