适配器模式及其作用
适配器模式是一种结构型设计模式。所谓结构型是指在代码结构方面的设计模式。适配器模式作为中间层,可以让交互接口不兼容的两个类或模块间正常交互协作。双方只面向适配器工作,无需关心适配器的另一端是谁及其工作方式。
现实生活举例
苹果电脑是没有USB插孔的,如果想要连接USB插头的设备,必须使用适配器。对于苹果电脑来说,与满足自身接口协议的适配器交互,不知道也不关心在适配器的另一端的设备的交互协议是怎样的。对于USB设备来说,只与适配器的USB插口交互,同样也不关心另一端的情况。
适配器模式的好处
- 可以让接口不兼容的两个模块交互。当交互的双方接口不兼容时,如果不愿修改已有代码的功能,因为变更意味着风险,可能引入bug,另外,有可能根本没有权限修改,比如一方是第三方类库。此时使用适配器模式,可以让双方无缝对接。
- 单一职责。交互的双方专注于自己的主责,将交互设计与数据转换分离到Adapter中。
适配器模式的实现
关系图
交互主动方称为Client,交互被动方称为Service。