using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace adapter
public
class
orchard
果園種植"
, city, fruit);}
}//類介面卡 :北京果園
public
class
bjorchard
:orchard
, iplant
}//類介面卡 :上海果園
public
class
shorchard
:orchard
, iplant
}class
program
}}
**解析:
上述**實現了介面卡模式,**中首先建立了種植介面 iplant,該介面提供了新的需求種植方法plant;然後建立了orchard類,該類表示已存在的果園類,具有plant方法,介面卡類使orchard類的write方法適應iplant介面的plant方法;接著建立了類介面卡bjorchard,該類實現了iplant介面並繼承了orchard類,在該類的plant方法中呼叫orchard類的plant方法,滿足了 iplant 介面的需求。最後還實現了另外一種形式的介面卡模式——物件介面卡類shorchard,該類實現了iplant介面,在該類中儲存了orchard物件的引用,在plant方法中呼叫了orchard物件的plant方法,同樣滿足了iplant介面的需求。
說明:
介面卡模式主要是將類的介面轉換成新的介面形式,以滿足新的需求。介面卡模式應用在對已有型別進行復用但介面與復用需求不一致的場合。
設計模式 八 介面卡模式 C
介面卡模式 將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。應用場景 1 系統的資料和行為都正確,但是介面不符時,我們應該考慮介面卡,目的是使得介面匹配。介面卡模式主要是應用於希望服用一些現在的類,但是介面又於復用環境不一致的情況。比如...
設計模式 八 介面卡模式
1 生活中的場景 轉接頭之類的 2 什麼是介面卡模式?3 模式中的角色 4 例項 類適配方式 被適配類 被適配的類 public class adaptee 目標介面 public inte ce target介面卡類 介面卡類 轉接器 類適配方式,但是類只能單繼承不利於擴充套件 public cl...
設計模式八 介面卡模式
將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。通俗的講,在不改變老系統的功能介面情況下,作向下相容。spring中以adapter結尾的都是。功能 對原來對賬號密碼登入方式,新增第三方登入。老介面 public class siginse...