一、適配器模式簡介(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 == nu
{
adaptee = new Adaptee();
}
adaptee.SepecificRequest();
}
} |
4、客戶端代碼 |
static void
{
Target target = new Adapter();
target.Request();
Console.Read();
} |
3、程序運行結果
四、案例分析(Example)
場景:系統調用第三方計算類庫Calculator,一開始調用的是帶兩個整型參數的Add方法,後來計算類庫中的Add方法兩個參數變爲Float類型,此時再使用就的調用方式需要更改客戶代碼,這是不好的解決辦法,較好的解決辦法是,使用適配器模式解決接口不一致問題。
Add方法參數變更前的調用方式:
Add方法參數類型變更後,增加適配器類CaculatorAdapter, 解決了接口不一致問題。如下圖:
五、總結(Summary)
適配器模式,將一個類裝換成客戶期望的另外一個接口。Adapter模式統一了不兼容對象的接口,使的原本由於接口不兼容而不能工作的那些類可以一起工作。
©著作權歸作者所有:來自51CTO博客作者靈動生活的原創作品,如需轉載,請註明出處,否則將追究法律責任
0
收藏