目录
适配器模式
引言
在现实生活中,插头和插座是需要匹配的,三孔的插头不能使用俩孔的插座。当我们只有俩孔的插座,插头确实三孔的怎么办呢?通常的做法是加入一个排插,这样通过排插作为中介,也可以通电。在面向对象的编程中,也有类似的问题,例如,类ClassA中有MethodA()方法,客户端已经针对该方法编程,而现有类ClassB中MethodB()方法恰好满足客户端的要求,如何在不修改原有类ClassA和客户端代码基础上,复用到ClassB中的方法呢?使用适配器模式设计代码就可以解决这个问题。
适配器模式重要等级★★★★☆ 适配器模式难度等级★★☆☆☆
定义
英文定义:"Convert the interface of a class into anther interface clients expect. Adapter lets class work together that could't otherwise becasue of incompatible interfaces."。
将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。
模式结构图
Interface为客户调用的目标接口,声明了客户调用的方法。Adaptee为适配者类,包含客户实际上调用到的方法。 Adapter为适配器类,它实现客户调用的目标接口,通过调用适配器类间接地调用到适配者类的方法。
实例
实例描述
男生穿帅气的西装,女生穿可爱的女装,现使用适配器模式设计该情景,在不修改原有代码的基础上,使得男生也可以穿上可爱的女装。
通过分析,该实例类图如下图所示。