深入設計模式(三) 介面卡模式

2022-01-19 17:59:25 字數 1744 閱讀 3275

一、介面卡設計模式介紹

介面卡模式,將乙個類裝換成客戶期望的另外乙個介面。adapter模式使用的原本由於介面不相容而不能茉莉花物那些可以一起工作。

二、解決的問題

1、使用第三方元件,而這個元件的介面與目前系統介面不相容(如方法與系統方法不一致等),可以使用介面卡模式解決介面不相容問題。

2、使用早前專案一些有用的類,可以用介面卡模式解決現有介面與原有物件介面不相容問題。

三、生活中的例子

介面卡模式允許將乙個類的介面轉換成客戶期望的另乙個介面,使用原本由於介面不相容而不能一起工作的類可以一起工作。扳手提供了乙個介面卡的例子。乙個孔套在棘齒上,棘齒的每個邊的尺寸是相同的。在美國典型的連長為1/2和1/4。顯然,如果不使用乙個介面卡的話,1/2的棘齒不能適合1/4的孔。乙個1/2到1/4的介面卡具有乙個1/2的陰槽來套上乙個1/2的齒,同時有乙個1/4的陽槽來卡入1/4的扳手。

四、介面卡分析

1.介面卡模式結構

介面卡模式

816 }

客戶期待的介面或者抽象類target

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

介面卡模式817

}18 }

要適配的類adaptee,也就是與期望呼叫介面不相符的類

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

介面卡模式817

adaptee.specificreques();18}

19}20 }

介面卡類adapter,把源介面轉換成目標介面,包行變數adaptee

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

介面卡模式823

}24 }

客戶端**

設計模式(三) 介面卡模式

目的 將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作.假設場景 以前的手機是有記憶體卡的,手機使用者把資料放在記憶體卡裡,手機是可以直接讀取記憶體卡中的資料的。但是後來這種用記憶體卡的手機慢慢被淘汰了,可是你又想讀取記憶體卡中的資料,於...

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...