tft每日頭條

 > 圖文

 > 設計模式之适配器模式

設計模式之适配器模式

圖文 更新时间:2024-07-06 23:11:08

設計模式之适配器模式?設計模式寫寫停停,有些在項目中用到了,就提前寫了,有些沒有用到,但是想完整的更新下來,就都寫了這算是我的設計模式系列的倒數第二篇,因此寫完之後也會對我的各大平台上的文章進行一個整理歸納感謝大家支持,今天小編就來聊一聊關于設計模式之适配器模式?接下來我們就一起去研究一下吧!

設計模式之适配器模式(設計模式之适配器模式)1

設計模式之适配器模式

設計模式寫寫停停,有些在項目中用到了,就提前寫了,有些沒有用到,但是想完整的更新下來,就都寫了。這算是我的設計模式系列的倒數第二篇,因此寫完之後也會對我的各大平台上的文章進行一個整理歸納。感謝大家支持。

一、認識适配器模式

适配器模式很容易理解,意思就是把一個接口包裝成另外一個接口。就比如說我的電腦之前一直是一個顯示屏,後來覺得不夠用,弄了兩個。但是另外一個顯示屏接過來的時候,接頭不能和電腦适配,我就買了個HDMI轉換器。通過這個轉換器就能接入雙屏了。

上面舉得這個例子就是适配器模式的一個體現,電器接頭的轉換是常常舉的一個例子。适配器模式常見的有三種:

(1)類适配器模式

(2)對象适配器模式

(3)接口适配器模式

這三種的思想都是一樣的,隻不過要适配的内容不一樣而已。我們給出這三種方式的類圖,然後使用代碼去實現一下,體會一下其思想。說一句廢話,我一直覺得設計模式就是要記住其思想,在用到的時候能夠想到即可。畢竟設計模式不是代碼的規範,而是提供一種解決某種場景下代碼設計的思路而已。

二、代碼實現

1、類适配器模式

(1)類圖

從上圖我們可以看到,就是把一個類包裝成另外一個類而已。下面直接看代碼:

(2)代碼實現

第一步:創建Source(這是一個類)

第二步:創建Target接口

第三步:創建适配器

第四步:測試

2、對象适配器模式

(1)類圖

這個圖和上面很相似,但是區别在于Adapter類中,在裡面要創建一個Source類

(2)代碼實現

第一步:創建Source(這是一個類)

第二步:創建Target接口

第三步:創建适配器(重點

第四步:測試

3、接口适配器模式

(1)類圖

我們看到這張圖就和之前兩張優點區别了。他的核心就是抽象類實現了Target接口。意思是什麼呢?就是Target接口提供了大量的方法,但是我們适配的時候不想要适配這麼多,隻想要适配其中一個或者幾種。于是我們可以創建ConcreteClassX或者是ConcreteClassX重寫我們想要适配的方法即可。如果不理解看一下源碼。

(2)代碼實現

第一步:Targer接口

第二步:抽象适配器類

第三步:具體實現類

首先是輸出5V的具體類

然後還有可以輸出10V和220V的具體實現類

第四步:直接測試

以上就是三種不同适配器模式的實現,

三、分析适配器模式

三種适配器模式各有優缺點,一般情況下我們要盡可能多的使用對象适配器模式,因為其實現了解耦合。把Source和Adapter進行和拆分。當然了,如果你想僅僅進行一個簡單的使用也可以使用第一種類适配器模式。

第三種接口适配器模式實現起來感覺比較麻煩一點,代碼也顯得臃腫一點,但是确實三種方法中我認為是最好的一種方法,他結合了前面兩種的優點,又加入了自己的優勢。當有很多個适配接口供你選擇的時候,你可以任意選擇實現。确實很方便。

關于解耦合這些優缺點的介紹基本上所有的設計模式都有,這裡不再贅述了。如有問題還請指正。

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved