设计模式-适配器

1.结构型模式:从程序结构上实现松藕合,从而可以扩大整体的类结构,用来解决更大的问题
分类:适配器模式,代理模式,桥接模式,装饰模式,组合模式,外观模式,享元模式
2.适配器模式:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能在一起工作的类可以在一起工作
3.适配器模式中的角色:
<1>目标接口(Target):客户所期待的接口。目标可以是具体的类或抽象的类也可以是接口(USB接口)
<2>需要适配的类(Adaptee):需要适配的类(PS/2键盘)
<3>适配器(Adpater):通过包装一个需要适配的对象,把原接口转换成目标接口(USB-PS/转接器)
4.工作场景:
经常用做旧系统的升级和改造
-java.io.InputStreamReader(InputStream)
-java.io.OutputStreamWriter(OutputStream)
5.示例代码:
这里写图片描述
<1>需要适配的类(Adaptee)

/**
*需要适配的类
*/
public class Adaptee {
public void request(){
System.out.println("可以打字的PS/2键盘");
}
}

<2>目标接口(Target)

/**
* 相当于USB接口
*/
public interface Target {
void handleRequest();
}

<3>适配器(Adapter)
“`
//适配器(相当于USB-PS/2转接器)
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
super();
this.adaptee = adaptee;
}
@Override
public void handleRequest() {
adaptee.request();
}

}

<4>客户端(Client)

//相当于只有USB接口的键盘
public class Client {
    public void test(Target t){
        t.handleRequest();
    }
    public static void main(String[] args) {
        Client client=new Client();
        Adaptee adaptee=new Adaptee();
        Target target=new Adapter(adaptee);
        client.test(target);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值