Java 设计模式-适配器模式

一、概述

适配器模式将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的关键是建立一个适配器,这个适配器实现了目标接口并包含有被适配者的引用。

二、适配器模式的结构

Java适配器模式的结构中包括三种角色:

目标(Target):目标是一个接口,该接口是客户想使用的接口。
被适配者(Adaptee):被适配者是一个已经存在的接口或抽象类,这个接口或抽象类需要适配。
适配器(Adapter):适配器是一个类,该类实现了目标接口并包含有被适配者的引用,即适配器的职责是对被适配者接口(抽象类)与目标接口进行适配。

UML 图如下:

这里写图片描述

三、示例程序。

//目标

public interface Sheep {
    void eat();
}

//被适配者

public interface Wolf {
    void eatMeat();
}

//适配器

public class SheepAdapter implements Sheep {
   private Wolf wolf;

    public SheepAdapter(Wolf wolf) {
        this.wolf = wolf;
    }

    @Override
    public void eat() {
        this.wolf.eatMeat();
    }
}

//测试类

public class Client {
    public static void main(String[] args) {
        Wolf wolf = new Huitailang();
        Sheep sheep = new SheepAdapter(wolf);
        sheep.eat();
    }
}

四、适配器模式的优点。

目标(Target)和被适配者(Adaptee)是完全解耦的关系。
适配器模式满足“开-闭原则”。当添加一个实现Adaptee接口的新类时,不必修改Adapter,Adapter就能对这个新类的实例进行适配。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值