zoukankan      html  css  js  c++  java
  • 设计模式(七)Adapter Pattern适配器模式

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

    实际场景: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图

  • 相关阅读:
    【Nginx】开启 gzip和缓存
    webpack分离css单独打包
    【转】为什么Github没有记录你的Contributions
    Swiper使用遇到的问题
    Jenkins 自动化构建
    Pre标签 自动换行
    Gulp入门教程
    计数排序
    直接插入排序
    等差素数列
  • 原文地址:https://www.cnblogs.com/littlepage/p/10134844.html
Copyright © 2011-2022 走看看