Adapter 設計模式

2021-08-27 07:58:39 字數 1942 閱讀 6188

1.介面卡模式的定義

(1).類介面卡

類的介面卡模式把適配的類的api轉換成為目標類的api

uml圖

}類介面卡總結:

1.類介面卡使用物件繼承的方式,是靜態的定義方式         

2.對於類介面卡,介面卡可以重定義adaptee的部分行為        

3.對於類介面卡,僅僅引入了乙個物件,並不需要額外的引用來間接得到adapter      

4.對於類介面卡,由於介面卡直接繼承了adaptee,使得介面卡不能和adaptee的子類一起工作

(2)物件介面卡

uml結構圖

}物件介面卡總結:

1.物件介面卡使用物件組合的方式,是動態組合的方式             

2.對於物件介面卡,乙個介面卡可以把多種不同的源適配到同乙個目標     

3.對於物件介面卡,要重定義adapter的行為比較困難         

4.對於物件介面卡,需要額外的引用來間接得到adaptee   

adapter模式在android中實際運用

2.ui-總結

1.listview的布局是由一條一條的item組成的,這每乙個item又是乙個view。通過adapter介面卡這個橋梁將view添 加到listview中。         

2.乙個adapter是adapterview檢視與資料之間的橋梁,adapter提供對資料的訪問,也負責為每一項資料產生乙個對應的view        

3. 每一項資料產生對應的view之後,然後將view新增到listview中        

4.mvc       

listview是如何進行快取的,用到兩個最重要設計模式,adapter設計模式和觀察者設計模式,它通過介面卡各種各樣的資料轉換成了統一的介面提供給我們的item,同時又將我們不同的千變萬化的itemview轉換成了統一的view新增到了 

我們的listview當中,這就是listview中介面卡模式的運用。

設計模式 Adapter

adapter設計模式本身並沒有什麼特別,直觀地說就是介面封裝,在使用到第三方庫時我們常常用到,第三方庫提供的介面過於全面,引數過多,在我們實際應用中可能不會用到,通過進一步封裝,提供很好的實際介面。class target class adapter class adaptee 基本上就是三個類協...

設計模式 Adapter

類adapter include using namespace std class cadaptee virtual cadaptee public void func1 virtual ctarget public virtual void func 0 class cadapter publi...

設計模式 Adapter

意圖 使控制範圍之外的乙個原有物件與某個介面匹配。問題 系統的資料和行為都正確,但介面不符。通常用於必須從抽象類派生時。實現 將原有類包含在另一類中。讓包含類與需要的介面匹配,呼叫被包容類的方法。adapter模式有兩種型別 物件adapter模式 依賴於乙個物件 適配物件 包含另乙個物件 被適配物...