更多内容,欢迎关注公众号:Swift花园
喜欢文章?不如来个 ➕三连?关注专栏,关注我
将一个不兼容的对象转换成目标接口或者类,这是适配器模式的作用。
下面这件东西是适配器模式在现实世界中最贴切的表达。
USB-C to USB Adapterwww.apple.com适配器是一种结构化的设计模式,使得各种互不兼容的接口可以协同工作。换言之,它对一个对象的接口做转换,以对接另一个不同对象的接口。
因为适配器能够做变换,所以它有时候也被称为“包装器”:把一个对象包裹起来,然后提供一个新的接口。
实现适配器模式
在 Swift 中,实现适配器相当简单。你只需要创建一个新对象,把旧对象放进去,然后在新对象的类或者结构体上实现要求的接口。换言之,这个将源角色包装起来的类就是我们用来适配目标接口的适配器。
源角色
我们要适配目标接口的对象(例如,旧的USB-A接口)。
适配器
包装原始对象并且实现某个目标接口要求的对象。
目标
需要和源角色一起使用的对象 (我们的USB-C插槽)。
Swift中如何使用适配器模式?
当你想要在代码中集成第三方库时,可以用到适配器。第三方库的接口可能不符合你的需求,因此你可以在整个SDK或者后端API节点上创建一个包装器,以便提供统一的接口。
举个例子,我们将包装一个 EKEvent 对象,实现一个全新的协议。
import
还有一种用法,当你不得不使用几个已经存在的类或者结构体,而这些类都是 final 的,并且缺少某些功能,因此你需要基于它们之上构建一些新的接口。这种情况下,最好的选择就是实现一个包装类,也就是适配器。 ♂️
其实不仅是 Swift,基本上在所有的编程语言中,适配器都很容易实现,它们是如此的不可或缺。
我的公众号 这里有Swift及计算机编程的相关文章,以及优秀国外文章翻译,欢迎关注~