1. 程式人生 > >設計模式--------介面卡模式

設計模式--------介面卡模式

介面卡模式有三個重要的成員:Target(目標介面),Adaptee(源角色),Adapter(介面卡)。

                 Target(目標介面):  所要轉換的期待的介面。(系統中正在使用的介面).

                 Adaptee(源角色):需要適配的介面。(想辦法將其嫁接到Target中)

                 Adapter(介面卡):將源介面適配成目標介面,通過繼承,組合,實現介面等方式

介面卡模式有三種實現方式:類介面卡、物件介面卡、介面介面卡

                  前兩者的實現方式類似,所以也可以理解為兩種。

                 下面分別用程式碼來解釋這三種實現方式。


       類介面卡: 

   物件介面卡


介面介面卡:



這三種介面卡方法前兩種針對場景一致,

僅僅是實現手段稍有區別,二者主要用於如下場景:

  (1)想要使用一個已經存在的類,但是它卻不符合現有的介面規範,導致無法直接去訪問,這時建立一個介面卡就能間接去訪問這個類中的方法。

  (2)我們有一個類,想將其設計為可重用的類(可被多處訪問),我們可以建立介面卡來將這個類來適配其他沒有提供合適介面的類。

  以上兩個場景其實就是從兩個角度來描述一類問題,那就是要訪問的方法不在合適的接口裡,一個從接口出發(被訪問),一個從訪問出發(主動訪問)。

介面介面卡使用場景:

  (1)想要使用介面中的某個或某些方法,但是介面中有太多方法,我們要使用時必須實現介面並實現其中的所有方法,可以使用抽象類來實現介面,並不對方法進行實現(僅置空),然後我們再繼承這個抽象類來通過重寫想用的方法的方式來實現。這個抽象類就是介面卡。