设计模式之适配器模式

来源:互联网 发布:leve12行情软件 编辑:程序博客网 时间:2024/06/06 12:49

适配器概述】:将一个接口转换成客户需要的另一个接口,使接口不兼容的类可以一起工作,其别名为包装器。适配器即可以作为类结构型模型,也可以作为对象结构型模型。这里的接口可以使一个方法或者是方法的集合。

在适配器模式中,通过新增一个适配器类来解决接口不兼容的问题,使得原本没有关联的多个类可以协同工作。根据适配器类与适配者类的关系,可分为类适配器和对象适配器。两者的区别在于:对象适配器中的适配器和适配者是关联关系,而类适配器中的适配器和适配者是继承(实现)关系。在使用的角度上来说,对象适配器的使用频率高。

适配器模式通常包含以下角色:

  • 目标抽象类(Target):定义了客户所需接口,可以是接口或抽象类,也可以为具体类。
  • 适配器类(Adapter):适配器调用另一个接口,作为转换器,对Adaptee与Targer进行适配,它是适配器模式的核心。
  • 适配者类(Adaptee):被适配的角色,其定义了一个已经存在的接口,这个接口需要适配,适配者类往往是一个具体的类,包含着客户需要的业务方法。
下面是对象适配模式典型代码:
public class Adapter {private Adaptee adaptee;public Adapter(Adaptee adaptee){this.adaptee=adaptee;}public void request1(){adaptee.operate();}}
下面是类适配模式典型代码:
public class Adapter extends Adaptee implements Target{public void request1(){operate();}}
使用场景

 在以下情况下可以考虑使用适配器模式:

       (1) 系统需要使用一些现有的类,而这些类的接口(如方法名)不符合系统的需要,甚至没有这些类的源代码。

       (2) 想创建一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。


1 0
原创粉丝点击