设计模式-适配器模式Adapter

适配器模式

意图

适用

结构

  • 类适配器
    设计模式-适配器模式Adapter_第1张图片
  • 对象适配器

设计模式-适配器模式Adapter_第2张图片

示例代码

  • 类适配器
package adapter;
//目标接口
interface Target
{
    public void request();
}
//适配者接口
class Adaptee
{
    public void specificRequest()
    {       
        System.out.println("适配者中的业务代码被调用!");
    }
}
//类适配器类
class ClassAdapter extends Adaptee implements Target
{
    public void request()
    {
        specificRequest();
    }
}
//客户端代码
public class ClassAdapterTest
{
    public static void main(String[] args)
    {
        System.out.println("类适配器模式测试:");
        Target target = new ClassAdapter();
        target.request();
    }
}
运行结果:
类适配器模式测试:
适配者中的业务代码被调用!

  • 对象适配器
package adapter;
//目标接口
interface Target
{
    public void request();
}
//适配者接口
class Adaptee
{
    public void specificRequest()
    {       
        System.out.println("适配者中的业务代码被调用!");
    }
}
//对象适配器类
class ObjectAdapter implements Target
{
    private Adaptee adaptee;
    public ObjectAdapter(Adaptee adaptee)
    {
        this.adaptee=adaptee;
    }
    public void request()
    {
        adaptee.specificRequest();
    }
}
//客户端代码
public class ObjectAdapterTest
{
    public static void main(String[] args)
    {
        System.out.println("对象适配器模式测试:");
        Adaptee adaptee = new Adaptee();
        Target target = new ObjectAdapter(adaptee);
        target.request();
    }
}


总结

参考

深入理解适配器模式
适配器模式(Adapter模式)详解
适配器模式
适配器模式的理解和示例
适配器模式(adapter pattern)
设计模式 | 适配器模式及典型应用

你可能感兴趣的:(设计模式)