設計模式--------介面卡模式
阿新 • • 發佈:2018-12-04
介面卡模式有三個重要的成員:Target(目標介面),Adaptee(源角色),Adapter(介面卡)。
Target(目標介面): 所要轉換的期待的介面。(系統中正在使用的介面).
Adaptee(源角色):需要適配的介面。(想辦法將其嫁接到Target中)
Adapter(介面卡):將源介面適配成目標介面,通過繼承,組合,實現介面等方式
介面卡模式有三種實現方式:類介面卡、物件介面卡、介面介面卡
前兩者的實現方式類似,所以也可以理解為兩種。
下面分別用程式碼來解釋這三種實現方式。
類介面卡:
物件介面卡:
介面介面卡:
這三種介面卡方法前兩種針對場景一致,
(1)想要使用一個已經存在的類,但是它卻不符合現有的介面規範,導致無法直接去訪問,這時建立一個介面卡就能間接去訪問這個類中的方法。
(2)我們有一個類,想將其設計為可重用的類(可被多處訪問),我們可以建立介面卡來將這個類來適配其他沒有提供合適介面的類。
以上兩個場景其實就是從兩個角度來描述一類問題,那就是要訪問的方法不在合適的接口裡,一個從接口出發(被訪問),一個從訪問出發(主動訪問)。
介面介面卡使用場景:
(1)想要使用介面中的某個或某些方法,但是介面中有太多方法,我們要使用時必須實現介面並實現其中的所有方法,可以使用抽象類來實現介面,並不對方法進行實現(僅置空),然後我們再繼承這個抽象類來通過重寫想用的方法的方式來實現。這個抽象類就是介面卡。