一、適配器模式簡介(Brief Introduction)
適配器模式,將一個類裝換成客戶期望的另外一個接口。Adapter模式使的原本由於接口 不兼容而不能工作的那些類可以一起工作。
二、解決的問題(What To Solve)
1、使用第三方組件,而這個組件的接口與目前系統接口不兼容(如方法與系統方法不一 致等),可以使用適配器模式解決接口不兼容問題。
2、使用早前項目一些有用的類,可以用適配器模式解決現有接口與原有對象接口不兼容 問題。
三、適配器模式分析(Analysis)1、適配器模式結構
2、源代碼
1、客戶期待的接口或者抽象類Target
public abstract class Target
{
public abstract void Request();
}
2、要適配的類Adaptee,也就是與期望調用接口不相符的類
public class Adaptee
{
public void SepecificRequest()
{
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();
}
3、程序運行結果
四、案例分析(Example)
場景:系統調用第三方計算類庫Calculator,一開始調用的是帶兩個整型參數的Add方法 ,後來計算類庫中的Add方法兩個參數變為Float類型,此時再使用就的調用方式需要更改客 戶代碼,這是不好的解決辦法,較好的解決辦法是,使用適配器模式解決接口不一致問題。
Add方法參數變更前的調用方式:
Add方法參數類型變更後,增加適配器類CaculatorAdapter, 解決了接口不一致問題。如 下圖:
五、總結(Summary)
適配器模式,將一個類裝換成客戶期望的另外一個接口。Adapter模式統一了不兼容對象 的接口,使的原本由於接口不兼容而不能工作的那些類可以一起工作。
出處:http://www.cnblogs.com/ywqu