码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式(七)Adapter Pattern适配器模式

时间:2018-12-18 10:53:39      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:override   end   super   客户   http   img   adapter   stream   get   

适用场景:旧系统的改造升级

实际场景:java.io.InputStreamReader(InputStream)等

1.一个被适配的类

package com.littlepage.AdapterPattern;
/*
 * 被适配的类
 */
public class Adaptee {
    public void request(){
        System.out.println("对应可实现功能");
    }
}

2.客户端

package com.littlepage.AdapterPattern;
/*
 * 客户端
 */
public class Client {
    public void test1(Target t){
        t.handleReq();
    }
    public static void main(String[] args) {
        Client c=new Client();
        Target t=new Adapter2(new Adaptee());
        c.test1(t);
        
    }
}

3.适配器写法1

package com.littlepage.AdapterPattern;
/*
 * 适配器本身
 */
public class Adapter extends Adaptee implements Target {

    @Override
    public void handleReq() {
        super.request();
    }
    
}

适配器写法2

package com.littlepage.AdapterPattern;

public class Adapter2 implements Target{
    private Adaptee adaptee;
    
    public Adapter2(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void handleReq() {
        adaptee.request();
    }

}

 UML图

技术分享图片

 

设计模式(七)Adapter Pattern适配器模式

标签:override   end   super   客户   http   img   adapter   stream   get   

原文地址:https://www.cnblogs.com/littlepage/p/10134844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!