首页 > 代码库 > 设计模式之(Adapter)适配器模式

设计模式之(Adapter)适配器模式

1.需求

有个环境监测系统用于获取环境的各种数据并显示,包括温度、湿度、紫外线等。原来使用的是月亮(Moon)公司的温度传感器,但是这家公司的传感器经常测的数据不正确,于是领导要把传感器换成市场上最好的传感器厂商太阳(Sun)公司的温度传感器。现在需要你去做修改程序以接入Sun公司的温度传感器。(注:Moon公司传感器的获取温度的接口是GetTemperature,Sun公司获取传感器的接口是GetTemp)。

2. 分析

监测系统很多地方都用到Moon公司传感器GetTemperature接口,如果直接替换成GetTemp的话,势必引起整个系统的重新编译,而且还需要仔细检查所有的GetTemperature是否已经被替换。为了不引起大的改动,我们将Sun公司的传感器封装成Moon公司一样的接口,则可以解决这个问题。

3. 类图

image

4. 总结

Adapter主要用于接口转换,同时可以解耦客户代码和执行请求的目标对象。

设计模式之(Adapter)适配器模式