结构型模式之适配器模式
程序员文章站
2023-04-03 16:55:54
适配器模式(Adapter Pattern)又叫做变压器模式,变压器把一种电压变换为另一种电压。 定义: 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。 适配器模式就是将一个接口或类转换成其它的接口或类,适配器相当于一个包装器,类图如下所示 ......
适配器模式(adapter pattern)又叫做变压器模式,变压器把一种电压变换为另一种电压。
定义:
- 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够在一起工作。
适配器模式就是将一个接口或类转换成其它的接口或类,适配器相当于一个包装器,类图如下所示。
适配器涉及以下3个角色。
- 目标(target)角色:定义要转换成的目标接口。
- 源(adaptee)角色:需要被转换成目标角色的源角色。
- 适配器(adapter)角色:是适配器模式的核心,其职责是通过继承或是类关联的方式,将源角色转换为目标角色。
adaptee.java
// 源角色 public class adaptee { public void specificrequest() { system.out.println("原有业务处理"); } }
target.java
public interface target { public void request(); }
adapter.java
public class adapter extends adaptee implements target { @override public void request() { super.specificrequest(); } }
client.java
public class client { public static void main(string[] args) { // 适配器模式应用 target target = new adapter(); target.request(); } }
优点:
- 适配器模式可以让两个没有任何关系的类在一起运行。
- 增加了类的透明性。
- 提高了类的复用度。
- 增强代码的灵活性。
使用场景:
- 修改一个已经投产中的系统时,需要对系统进行扩展,此时使用一个已有的类,但这个类不符合系统中的接口,这时使用适配器模式是最合适的,它可以将不符合系统接口的类进行转换,转换成符合系统接口的、可以使用的类。
摘自:
青岛东合信息技术有限公司 . 设计模式(java版) . 电子工业出版社,2012,83-85.