程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .net設計模式實例之適配器模式(Adapter Pattern)

.net設計模式實例之適配器模式(Adapter Pattern)

編輯:關於.NET

一、適配器模式簡介(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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved