在引入不可修改的第三方類庫,並且需要適配原有的介面時,就需要使用適配配器模式。
實現要素:
現有介面 ihelper
/// /// 需要適配的介面,不可修改
///
public inte***ce ihelper
介面實現
/// /// mysql
///
public class mysqlhelper : ihelper
public void delete()
public void query()
public void update()
}
需要適配的類
/// /// 適配者,不可修改
///
public class redishelper
public void updateredis()
public void deleteredis()
public void queryredis()
}
介面卡:
/// /// 類介面卡
///
public class redisclassadapter : redishelper,ihelper
public void delete()
public void query()
public void update()
}
/// /// 物件介面卡
///
public class redisadapterobject : ihelper
public redisadapterobject()
public void add()
public void delete()
public void query()
public void update()
}
以上便是介面卡模式的實現
類介面卡:採用繼承的方式,繼承有很強的侵入性。
物件介面卡:採用組合方式,更加靈活
設計模式(六) 介面卡模式
優點 通過引入乙個介面卡adapter來重用現有的不相容的舊類adeptee,而無需修改舊類原有結構。增加了舊類的復用性 介面卡的靈活性和擴充套件性都非常好 缺點 一次最多只能適配乙個舊類,不能同時適配多個舊類。適用範圍 需要有舊類,而舊類的介面不符合新系統的需要,甚至舊類都沒有源 客戶端 play...
C 設計模式之介面卡模式(六)
介面卡模式 adapter pattern 是一種結構型模型,會將一種介面轉換為另一種需要的介面,以便使用。介面卡模式有兩種,一是類模式介面卡 另一種是物件模式介面卡。類模式介面卡 物件模式介面卡 優點 1.遮蔽具體實現的方法,實現了依賴倒轉 2.把不方便使用的介面轉換為統一介面,方便使用。clas...
介面卡模式(Adapt) 設計模式(六)
作用 將乙個類的介面轉換成客戶希望的另外乙個介面。adapt 模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。解析 adapt 模式其實就是把完成同樣的乙個功能但是介面不能相容的類橋接在一起使之可以在一起工作,這個模式使得復用舊的介面成為可能.實現 adapt 模式有兩種實現辦法,一種...