适配器模式(Adapter模式)详解
適配器模式(Adapter模式)詳解
- 在現實生活中,經常出現兩個對象因接口不兼容而不能在一起工作的實例,這時需要第三者進行適配。例如,講中文的人同講英文的人對話時需要一個翻譯,用直流電的筆記本電腦接交流電源時需要一個電源適配器,用計算機訪問照相機的 SD 內存卡時需要一個讀卡器等。
- 在軟件設計中也可能出現:需要開發的具有某種業務功能的組件在現有的組件庫中已經存在,但它們與當前系統的接口規范不兼容,如果重新開發這些組件成本又很高,這時用適配器模式能很好地解決這些問題。*
適配器模式(Adapter)的定義:
將一個類的接口轉換成客戶期待的另一個接口,使得原本由于接口不兼容而不能一起工作的那些類能一起工作。
適配器模式分為類結構型模式和對象結構型模式,前者類之間的耦合度比后者高,且要求程序員了解現有組件庫中的相關組件的內部結構,所以應用相對較少些。
適配器模式的優點:
客戶端通過適配器可以透明地調用目標接口。
復用了現存的類,程序員不需要修改原有代碼而重用現有的適配者類。
將目標類和適配者類解耦,解決了目標類和適配者類接口不一致的問題。
在很多業務場景中符合開閉原則。
適配器模式的缺點:
適配器編寫過程需要結合業務場景全面考慮,可能會增加系統的復雜性。
增加代碼閱讀難度,降低代碼可讀性,過多使用適配器會使系統代碼變得凌亂。
適配器模式的結構
類適配器模式可采用多重繼承方式實現,如 C++ 可定義一個適配器類來同時繼承當前系統的業務接口和現有組件庫中已經存在的組件接口;Java 不支持多繼承,但可以定義一個適配器類來實現當前系統的業務接口,同時又繼承現有組件庫中已經存在的組件。
對象適配器模式可釆用將現有組件庫中已經實現的組件引入適配器類中,該類同時實現當前系統的業務接口。現在來介紹它們的基本結構。
適配器模式(Adapter)包含以下主要角色:
目標(Target)接口:當前系統業務所期待的接口,它可以是抽象類或接口。
適配者(Adaptee)類:它是被訪問和適配的現存組件庫中的組件接口。
適配器(Adapter)類:它是一個轉換器,通過繼承或引用適配者的對象,把適配者接口轉換成目標接口,讓客戶按目標接口的格式訪問適配者。
總結
以上是生活随笔為你收集整理的适配器模式(Adapter模式)详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通讯协议集合- - -类比道路交通- -
- 下一篇: 创客匠人工具助力教培机构快速适应线上教学