中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做wish選品網(wǎng)站 數(shù)據(jù)網(wǎng)站湖南平臺網(wǎng)站建設(shè)制作

做wish選品網(wǎng)站 數(shù)據(jù)網(wǎng)站,湖南平臺網(wǎng)站建設(shè)制作,element ui頁面模板,中信建設(shè)有限責任公司海外法務介紹 適配器模式(Adapter Pattern)是一種結(jié)構(gòu)型設(shè)計模式,它允許接口不兼容的類可以協(xié)同工作,通過將一個類的接口轉(zhuǎn)換成客戶端所期望的另一個接口,使得原本由于接口不兼容而不能一起工作的類可以一起工作。 1.定義 適配…

介紹

適配器模式(Adapter Pattern)是一種結(jié)構(gòu)型設(shè)計模式,它允許接口不兼容的類可以協(xié)同工作,通過將一個類的接口轉(zhuǎn)換成客戶端所期望的另一個接口,使得原本由于接口不兼容而不能一起工作的類可以一起工作。

1.定義


適配器模式將一個類的接口轉(zhuǎn)換成客戶期望的另一個接口,使得原本接口不兼容而無法一起工作的類可以一起工作。

2. 主要作用


  • 接口兼容:使得兩個不兼容的接口能夠工作在一起。
  • 解耦:通過適配器將客戶端與被適配者解耦,減少了系統(tǒng)的耦合性。
  • 重用性:允許現(xiàn)有的類在不修改的情況下被復用,提高了代碼的重用性。

3. 解決的問題


  • 當現(xiàn)有類的接口和需求的接口不兼容時,適配器模式可以將現(xiàn)有接口轉(zhuǎn)換成所需接口。
  • 在不修改現(xiàn)有類的前提下,使其能夠適應新的接口需求,充分復用現(xiàn)有代碼。

4. 模式原理


包含角色:

  1. Target(目標接口): 客戶端期望的接口。
  2. Adapter(適配器): 實現(xiàn)了目標接口,并且持有一個被適配對象的實例。
  3. Adaptee(被適配的類): 原本存在的接口或類。

UML類圖:
在這里插入圖片描述
代碼示例:

// 目標接口
interface Printer {void print(String content);
}// 舊類(不兼容的接口)
class OldPrinter {void printText(String text) {System.out.println("OldPrinter: " + text);}
}// 適配器類
class PrinterAdapter implements Printer {private OldPrinter oldPrinter;public PrinterAdapter(OldPrinter oldPrinter) {this.oldPrinter = oldPrinter;}@Overridepublic void print(String content) {// 在適配器中處理圖像打印的邏輯String textContent = convertImageToText(content);oldPrinter.printText(textContent);}// 假設(shè)這是一個將圖像轉(zhuǎn)換為文本的方法private String convertImageToText(String image) {return "Converted Image: " + image;}
}

調(diào)用

public class AdapterPatternDemo {public static void main(String[] args) {OldPrinter oldPrinter = new OldPrinter();Printer printerAdapter = new PrinterAdapter(oldPrinter);// 客戶端使用適配器打印圖像printerAdapter.print("SampleImage.jpg");}
}

打印輸出

OldPrinter: Converted Image: SampleImage.jpg

適配器在我們的生活中無處不在,幫助不同系統(tǒng)、設(shè)備和協(xié)議之間實現(xiàn)兼容與互通比如電源適配器,耳機適配器,家用電器的轉(zhuǎn)換插頭,文件格式轉(zhuǎn)換等等…

正如你想的那樣,將一種不可使用的東西,通過一系列適配達到可用狀態(tài),這就是適配器模式的含義。

在Java中InputStreamReader可以被視為適配器,將字節(jié)流(InputStream)轉(zhuǎn)換為字符流(Reader

InputStream inputStream = new FileInputStream("xxx.txt");
Reader reader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(reader);

Java的集合框架中,Collections類提供了多個適配器方法,例如ListIterator。它允許對List集合進行雙向迭代。

 List<String> list = new ArrayList<>();ListIterator<String> iterator = list.listIterator();while (iterator.hasNext()) {System.out.println(iterator.next());}

在安卓中,適配器的含義是將數(shù)據(jù)轉(zhuǎn)化成UI顯示出來。例如RecyclerView.Adapter是一個典型的適配器模式示例。RecyclerView本身并不知道數(shù)據(jù)的來源,適配器充當了RecyclerView和數(shù)據(jù)之間的橋梁。

其實適配器真沒啥介紹的,大家已經(jīng)熟悉的不能再熟悉了,此篇文章就當用來幫助大家加固下對適配器模式的印象吧!😜

5. 優(yōu)缺點


優(yōu)點:

  1. 單一職責原則:將接口轉(zhuǎn)換代碼封裝在適配器中,不需要修改原有類。
  2. 開閉原則:添加新的適配器,不需要修改已有代碼。
  3. 提高復用性:可以復用現(xiàn)有類,減少代碼重復。

缺點:

  1. 復雜性增加:引入適配器模式會增加系統(tǒng)的復雜性,增加了額外的類。
  2. 類適配器的局限性:類適配器使用多重繼承,可能不適用于所有面向?qū)ο笳Z言(如Java只支持單繼承)。

6. 應用場景


  • 需要與不兼容的接口或類庫進行集成。
  • 需要使用現(xiàn)有類的功能,但它們的接口不符合客戶端的要求。
  • 在系統(tǒng)中需要將多個不同的接口統(tǒng)一為一個接口。

7. 對象適配器(Object Adapter)和類適配器(Class Adapter)區(qū)別


特性類適配器(Class Adapter)對象適配器(Object Adapter)
實現(xiàn)方式通過繼承(類)通過組合(對象)
適配方式編譯時適配運行時適配
靈活性不夠靈活,適配關(guān)系固定靈活,適配對象可以在運行時更改
對變化的影響被適配類變化影響較大被適配類變化影響較小

8. 總結(jié)


適配器模式是一種結(jié)構(gòu)型設(shè)計模式,通過將一個類的接口轉(zhuǎn)換為客戶端期望的接口,使得原本不兼容的類可以一起工作。它主要解決接口不兼容的問題,提高代碼的復用性和靈活性。雖然引入了額外的復雜性,但它在需要復用現(xiàn)有代碼,或者在不修改源代碼的前提下適應新接口需求的場景下,非常有用。適配器模式有類適配器和對象適配器兩種實現(xiàn)方式,各自有優(yōu)缺點,選擇時應根據(jù)具體需求和語言特性來決定。

http://www.risenshineclean.com/news/51655.html

相關(guān)文章:

  • 阿里云wordpress 安裝seo的優(yōu)化方案
  • 利用網(wǎng)上菜譜做網(wǎng)站東莞seo優(yōu)化排名
  • nginx建設(shè)網(wǎng)站教程寧波seo推薦推廣渠道
  • 設(shè)計師資源網(wǎng)站世界軍事新聞
  • 友情鏈接如何選擇網(wǎng)站新app推廣方案
  • sql做網(wǎng)站免費網(wǎng)絡(luò)推廣100種方法
  • 溫州網(wǎng)站關(guān)鍵詞淘寶推廣
  • 沈陽酒店企業(yè)網(wǎng)站制作天門網(wǎng)站建設(shè)
  • 泉州網(wǎng)頁搜索排名提升杭州網(wǎng)站建設(shè)方案優(yōu)化
  • 賓館的網(wǎng)站回款如何做分錄群排名優(yōu)化軟件
  • 德陽seo網(wǎng)站建設(shè)重慶seo
  • wordpress給用戶發(fā)送郵件googleseo推廣
  • 無錫大型網(wǎng)站建設(shè)公司seo排名優(yōu)化軟件有
  • 普通銀行卡可以做國外網(wǎng)站購物信用卡使用嗎哈爾濱seo網(wǎng)絡(luò)推廣
  • 中企動力 35 做網(wǎng)站站長工具綜合權(quán)重查詢
  • 武漢城市建設(shè)招標網(wǎng)站seo的關(guān)鍵詞無需
  • 網(wǎng)站專業(yè)建設(shè)公司抖音搜索優(yōu)化
  • 做照片軟件seo博客寫作
  • wordpress靜態(tài)生成西安優(yōu)化外
  • 做視頻的素材什么網(wǎng)站好網(wǎng)絡(luò)推廣的話術(shù)怎么說
  • 北京市房山區(qū)住房和城鄉(xiāng)建設(shè)委員會網(wǎng)站網(wǎng)推公司
  • 免費海報在線制作網(wǎng)站百度客戶管理系統(tǒng)登錄
  • 廣東官網(wǎng)網(wǎng)站建設(shè)哪家好二十個優(yōu)化
  • 北京P2P公司網(wǎng)站建設(shè)無代碼網(wǎng)站開發(fā)平臺
  • 模塊建站平臺專業(yè)的推廣公司
  • b站視頻播放量網(wǎng)站長沙快速排名優(yōu)化
  • 如何查看網(wǎng)站是哪家公司做的百度2022第三季度財報
  • 攝影網(wǎng)站設(shè)計圖片網(wǎng)絡(luò)營銷服務的特點
  • 做網(wǎng)上兼職的網(wǎng)站優(yōu)秀營銷軟文范例800字
  • 怎樣建設(shè)一個購物網(wǎng)站廣州疫情升級