读《大话设计模式》之适配器模式
2017-04-17 本文已影响7人
梦半觉
一、模式概述:
将一个类的接口转换成客户希望的另外一个接口。
适配器的意思就是使得一个东西适合另一个东西的东西。如,不同国家有不同标准的电压(110V、220V),于是就需要电源适配器。
UML图:

Target:客户所期待的接口。(目标可以是具体的或抽象的类,也可以是接口)
Adaptee:需要适配的类。
Adapter:适配器类。(通过在内部包装一个Adaptee对象,把源接口转换成目标接口)
Client:客户端。
二、模式优缺点:
优点:
能解决接口不匹配的问题,客户端能统一调用统一接口。
缺点:
不够优雅,实则是无奈之举,有“亡羊补牢”的感觉。
三、模式适用场景:
1.系统的数据和行为都正确,但接口不符的情景。
2.希望复用一些类,但接口又与复用环境要求不一致的情景。
3.双方都不太容易修改接口的情景。
四、模式总结:
接口统一实则应该在设计阶段就完成。接口不统一,首先应该考虑重构统一接口,在双方都不太容易修改的时候再使用适配器模式适配。事后控制不如事中控制,事中控制不如事前控制。(扁鹊三兄弟的故事)