• Java设计模式(六)Adapter适配器模式


    一、场景描述

    “仪器数据采集器”包含采集数据以及发送数据给服务器两行为,则可定义“仪器数据采集器”接口,定义两方法“采集数据capture”和“发送数据sendData”。

    “PDF文件数据采集器”实现时,要实现“仪器数据采集器”接口,实现“采集数据”方法;目前有“PDF文件内容解析工具”类PdfFileExtractor,该类实现PDF文件的数据解析;因此,可使“PDF文件数据采集器”继承“PDF文件内容解析工具”类,并实现“仪器数据采集器”接口,如下图所示:

     适配器的作用是,继承现有的类,通过实现接口,扩展其用途。

    类适配器继承源类,由于子类仅能继承一个父类,因此被继承的源类实现目标接口的方法多少也可以算做适配程度的高低。

    二、示例代码

     接口:

    package lims.designpatterndemo.adapterclassdemo;
    
    public interface EquipmentDataCapture {
        public String capture(String filePath); 
        public boolean sendData(String equipmentData);
    }

    源类:

    package lims.designpatterndemo.adapterclassdemo;
    
    public class PdfFileExtractor {
        public String capture(String filePath){
            return "pdf file content";
        }
    }

    适配器类:

    package lims.designpatterndemo.adapterclassdemo;
    
    public class PdfFileCapture extends PdfFileExtractor implements EquipmentDataCapture {
    
        @Override
        public boolean sendData(String equipmentData) { 
            return false;
        }
    
    }

    调用示例:

    package lims.designpatterndemo.adapterclassdemo;
    
    public class ClassAdapterDemo {
    
        public static void main(String[] args) {
            PdfFileCapture capture = new PdfFileCapture();
            String fileContent = capture.capture("");
            System.out.println(fileContent);
            boolean rst = capture.sendData(fileContent);
            System.out.println(rst);
        }
    
    }
  • 相关阅读:
    守望先锋2中源氏皮肤变化
    博客园页面定制设置背景
    京剧中的“八句唱法”
    长歌行
    长相知-《上邪》-汉乐府
    Eclipse离线安装svn插件
    不安装Oracle客户端,用PLSQL连接Oracle
    常见数据库默认端口以及常用数据类型
    Python2.7 删除前N天日志文件
    Anaconda用conda创建python虚拟环境
  • 原文地址:https://www.cnblogs.com/mahongbiao/p/8626610.html
Copyright © 2020-2023  润新知