swift date 计算差_[Swift 设计模式] 适配器
喜歡文章?不如來個 ?三連?關(guān)注專欄,關(guān)注我
將一個不兼容的對象轉(zhuǎn)換成目標接口或者類,這是適配器模式的作用。
下面這件東西是適配器模式在現(xiàn)實世界中最貼切的表達。
USB-C to USB Adapter?www.apple.com適配器是一種結(jié)構(gòu)化的設(shè)計模式,使得各種互不兼容的接口可以協(xié)同工作。換言之,它對一個對象的接口做轉(zhuǎn)換,以對接另一個不同對象的接口。
因為適配器能夠做變換,所以它有時候也被稱為“包裝器”:把一個對象包裹起來,然后提供一個新的接口。
實現(xiàn)適配器模式
在 Swift 中,實現(xiàn)適配器相當簡單。你只需要創(chuàng)建一個新對象,把舊對象放進去,然后在新對象的類或者結(jié)構(gòu)體上實現(xiàn)要求的接口。換言之,這個將源角色包裝起來的類就是我們用來適配目標接口的適配器。
源角色
我們要適配目標接口的對象(例如,舊的USB-A接口)。
適配器
包裝原始對象并且實現(xiàn)某個目標接口要求的對象。
目標
需要和源角色一起使用的對象 (我們的USB-C插槽)。
Swift中如何使用適配器模式?
當你想要在代碼中集成第三方庫時,可以用到適配器。第三方庫的接口可能不符合你的需求,因此你可以在整個SDK或者后端API節(jié)點上創(chuàng)建一個包裝器,以便提供統(tǒng)一的接口。
舉個例子,我們將包裝一個 EKEvent 對象,實現(xiàn)一個全新的協(xié)議。
import還有一種用法,當你不得不使用幾個已經(jīng)存在的類或者結(jié)構(gòu)體,而這些類都是 final 的,并且缺少某些功能,因此你需要基于它們之上構(gòu)建一些新的接口。這種情況下,最好的選擇就是實現(xiàn)一個包裝類,也就是適配器。 ?♂?
其實不僅是 Swift,基本上在所有的編程語言中,適配器都很容易實現(xiàn),它們是如此的不可或缺。
我的公眾號 這里有Swift及計算機編程的相關(guān)文章,以及優(yōu)秀國外文章翻譯,歡迎關(guān)注~
總結(jié)
以上是生活随笔為你收集整理的swift date 计算差_[Swift 设计模式] 适配器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以下python注释代码格式正确的是_P
- 下一篇: Java解释XML文件的小例子