Swift-适配器模式(Adapter Pattern)

适配器模式在Swift中的应用,通过类适配器和对象适配器对比,介绍其适用性、优缺点及实际开发场景。示例包括对第三方服务如谷歌登录的接口适配,涉及声明协议、原有登录方法、数据结构和适配器类的创建。
摘要由CSDN通过智能技术生成
       早在19世纪,尼古拉.特斯拉发明了交流电力系统。他也许想象不到,我们要把美国用的电气设备插到欧洲墙上的插座,却没有适配器时的烦恼。设想我在欧洲一个旅管的卫生间里,手拿一个电动剃须刀,看着墙上的插座,却忘了带适配器。现在该怎么办?应该在这儿买个剃须刀吗?可是带回美国还得给它弄个适配器。

       在面向对象软件设计中,有时候我们想把有用而经过精心测试的类,用于应用程序的其他新领域。但是,新功能需要新接口,而新接口与复用的现有类不一致的情况非常普遍。此时你也许会问自己:”现在该怎么办?应该改写这些类去适应新的接口吗?可是当我又要加新功能时,我还要再改写吗?人是聪明的,发明了适配器,可以把美国用的插头插到欧洲的插座,或者反过来。在交流电发明多年之后,电源适配器仍然有巨大的需求,没人愿意每出一次国就买个新的剃须刀。同样,我们也不想为新的接口而重写可靠的类。

       已有的类与新的接口之间不兼容是问题相当普遍,人们已为它找到了一个解决方案。这个解决方案广为使用,最终被编入设计模式,称为适配器。

适配器模式


适配器模式:将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单理解就是用于连接两种不同种类的对象,使其毫无顾问地协同工作。 基本上有两种实现适配器的方式:
1、第一种是通过继承来适配两个接口,这称之为类适配器,最早在<<设计模式>>一书中,类适配器是通过多继承实现的。
2、实现适配器模式的第二种方式就是对象适配器。与类适配器不同,对象适配器不继承被适配者,而是组合了一个它的引用。

适配器模式包含如下角色:


Target:目标角色定义客户端具体使用的接口,也就是我们的期望接口,简单一点就是协议,协议定义我们需要的接口
Adaptee:源角色,你想把转换成目标角色,这个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值