擴充卡模式,将一個類裝換成客戶期望的另外一個接口。Adapter模式使的原本由于接口不相容而不能工作的那些類可以一起工作。
1、使用第三方元件,而這個元件的接口與目前系統接口不相容(如方法與系統方法不一緻等),可以使用擴充卡模式解決接口不相容問題。
2、使用早前項目一些有用的類,可以用擴充卡模式解決現有接口與原有對象接口不相容問題。

1、客戶期待的接口或者抽象類Target
public abstract class Target
{
public abstract void Request();
}
2、要适配的類Adaptee,也就是與期望調用接口不相符的類
public class Adaptee
public void SpecificRequest()
{
Console.WriteLine("執行要适配類的特殊請求方法");
}
3、擴充卡類Adapter,把源接口轉換成目标接口,包行變量adaptee
public class Adapter:Target
private Adaptee adaptee;
public override void Request()
if (adaptee == null)
{
adaptee = new Adaptee();
}
adaptee.SepecificRequest();
4、用戶端代碼
static void Main(string[] args)
Target target = new Adapter();
target.Request();
Console.Read();
場景:系統調用第三方計算類庫Calculator,一開始調用的是帶兩個整型參數的Add方法,後來計算類庫中的Add方法兩個參數變為Float類型,此時再使用就的調用方式需要更改客戶代碼,這是不好的解決辦法,較好的解決辦法是,使用擴充卡模式解決接口不一緻問題。
Add方法參數變更前的調用方式:
Add方法參數類型變更後,增加擴充卡類CaculatorAdapter, 解決了接口不一緻問題。如下圖:
擴充卡模式,将一個類裝換成客戶期望的另外一個接口。Adapter模式統一了不相容對象的接口,使的原本由于接口不相容而不能工作的那些類可以一起工作。
版權
作者:靈動生活 郝憲玮
如果你認為此文章有用,請點選底端的【推薦】讓其他人也了解此文章,
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。