适配器模式,没错,史上最全

前言:大家好,我是小熊,25届毕业生,目前在一家满意的公司实习。本篇文章将23种设计模式中的适配器模式,此篇文章为一天学习一个设计模式系列文章,后面会分享其他模式知识。这些东西,刚开始应该是不全面的,后面学习到新知识的话,文章会一直更新的
 

🧑个人简介:大家好,我是小熊,一个想吃鱼的男人😉😉
目前状况🎉:25届毕业生,在一家满意的公司实习👏👏

💕欢迎大家:这里是CSDN,我用来快速回顾知识准备面试的地方,欢迎来到我的博客😘

适配器模式

适配器模式(Adapter Pattern)属于结构型设计模式,它的作用是将一个类的接口转换成客户希望的另外一个接口。适配器让原本由于接口不兼容而不能一起工作的类可以协同工作。

快速入门核心

Adapter 实现接口(implement)Target或者继承抽象类Target,并引入adaptee类,然后在adapter中,进行组合方法,包装什么的以完成适配。

三个角色

目标抽象类(Target)、适配器类(Adapter)和被适配者类(Adaptee)。

目标抽象类(Target):定义了客户端使用的与特定领域相关的接口,也就是客户端需要的方法。

适配器类(Adapter):通过继承或者组合方式,将被适配者类的接口与目标抽象类的接口转换起来,使得客户端可以按照目标抽象类的接口进行操作。

被适配者类(Adaptee):已经存在的、功能稳定的类,在这里指的是需要适配的类。

意图

把一个类接口转换成另一个用户需要的接口。

类图

两种实现方式

类适配器模式:通过继承来实现适配器功能;

对象适配器模式:通过组合来实现适配器功能。adaptee作为属性引入

Adapeter 类种引入Adapetee,并实现接口Target或者继承抽象类Target,对应以上两种实现方式,

适配器模式在实际开发中非常常见,比如我们经常需要连接各种不同的数据库,每种数据库都有自己独特的接口和方法。如果我们希望写出一段通用的代码,能够连接到任何一种数据库并执行相同的操作,那么适配器模式就非常适合解决这个问题。

接口方式:

这里给出最终adapter效果.

package com.muse.patterns.adapter;

/**
 * @description 适配器
 **/
public class Adapter implements Target {
    // 待适配的类
    private Adaptee adaptee;

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

    public void prepare() {
        adaptee.prepare1();
        adaptee.prepare2();
        adaptee.prepare3();
    }

    public void execute() {
        adaptee.doingSomething();
    }
}

继承方式: 

//todo

At least,最后小熊建议各位

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值