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); } }
作者:马洪彪
出处:http://www.cnblogs.com/mahongbiao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。