您的位置:首页 > 编程语言 > Java开发

java设计模式---适配器模式(Adapter pattern)

2018-03-09 11:36 495 查看

java设计模式—适配器模式(Adapter pattern)

前面已经详细的讲解了java23种设计模式中的创建型模式,接下来就讲解下结构型设计模式—适配器模式(Adapter pattern)

1. 定义

适配器模式把一个类的接口变换成客户端所期待的另一个接口,从而使原本因接口不兼容而无法一起工作的两个类能一起工作。适配器模式是结构型设计模式之一,其在不修改原来两个模块代码的情况下,将两个不兼容的类融合在一起,有点像粘合剂,通过转换使得他们能够协作起来, 符合了开闭原则。

2. UML图

适配器模式的UML类图如下:



图所示是适配器模式的类图。Adapter 适配器设计模式中有 3 个重要角色:被适配者 Adaptee,适配器 Adapter 和目标对象 Target。其中两个现存的想要组合到一起的类分别是被适配者 Adaptee 和目标对象 Target 角色,按照类图所示,我们需要创建一个适配器 Adapter 将其组合在一起。

3. 适配器模式使用场景

适配器模式主要有以下几个使用场景:

(1)系统需要使用现有的类,而此类接口不符合系统的需要,即接口不兼容;

(2)想要建立一个可重复使用的类,用于关联彼此没有太大关联的一些类(包括即将引入的类);

(3)需要一个统一的输出接口,而输入端类型不确定,。

4. 简单的代码示例

//Target角色
public interface Target{
public int getAge();
}

//Adaptee角色
public class Adaptee{
public int getAge(){
return 220;
}
}
//Adapter角色
public class Adapter extends Agaptee implements Target{
@Override
public int getAge() {
return 5;
}
}
//Adapter 角色
public class Adapter implements Target{
Adaptee adaptee;

public Adapter(Adaptee adaptee) {
this.adaptee= adaptee;
}

@Override public int getAge() {
return 5;
}

public int getAdaptee(){
return adaptee;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: