JAVA开发接口与抽象开发

上传人:ll****x 文档编号:243022982 上传时间:2024-09-14 格式:PPT 页数:15 大小:80.50KB
返回 下载 相关 举报
JAVA开发接口与抽象开发_第1页
第1页 / 共15页
JAVA开发接口与抽象开发_第2页
第2页 / 共15页
JAVA开发接口与抽象开发_第3页
第3页 / 共15页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,接,口与抽象的应用实例,1,常用的批量导入的开发,打开文件,读取所有数据,导入所有数据,打开文件,读取一条记录,导入一条数据,关闭文件,关闭文件,导完,未导完,2,为批量引入接口与抽象,通过常用的批量导入方式,可以很好的完成数据的导入,为什么还要引入,接口与抽象呢?以下情况是经常发生的:,1、数据源的类型和格式改变时,2、目标源的类型和格式改变时,当然很多人会用,COPY+PASTE,,然后在恰当的地方进行恰当的修改,来实,现恰当的功能。但这样做的工作量是相当大的。比如数据源不是,XLS,,而是来自,另一个数据库,或是,SOCKET,流。而且可复用性基本为零,维护量在后期也会相,当的大。接口与抽象这时就体现了它的优势。,3,批量导入设计的一般框架,接口与抽象是一个公用模块不可缺少的设计。对常用的批量导入业务进行,抽象,可以发现,类似于,Pipe,处理,即数据读取,数据导入。再进一步的抽象,业务,读取一条记录,导入一条记录,可以使子类的开发更加容易,代码更空,易复用和维护。,4,批量导入,数据读取,IReadData,AReadData,TextReadData,XlsReadData,BaseReadData,5,批量导入,数据导入,IWriteData,AWriteData,TextWriteData,XlsWriteData,BaseWriteData,6,批量导入,接口适配器,这里借用适配器这一说法(适配器是用空方法实现接口的类)来处理不同,接口间数据格式的匹配。比如读取,TEXT,文件的,map (new Integer(n)=value),和,导入,XLS,文件,map (String=value),之间的转换。当各种数据源读取到的,Map,和写,入所要求的数据结构一致时,就可以毫无顾忌的相互导入了。,7,接口适配器的设计,在批量导入的实例中,适配器只需要对不同格式数据源进行匹配,使之出,来的结果数据结构相同。适配器只需要用抽象类就行了,可以不使用接口。这,样,几乎所有类型的数据导入就可以实现了。下面将直接用简洁的代码实现。,文本文件,XLS,文件,数据库,SOCKET,8,数据源读取设计,Public interface IReadData,public Map readData();,Map,为接口的返回对象,,map=null,读取结束。,用,Map,作为数据结构可以解决数据列的顺序问题。比如,XLS,文件,title=Value,,TEXT,文件,new Integer(n)=value。,这样可以通过中间类实现,XLS,到,TEXT,格式,的转换,从而实现批量导入。,9,数据源读取设计,TEXT,文件,Public class TextReadData implements IReadData throws Exception,private InputStream inputStream;,public TextReadData() throws Exception,inputStream=new (file);,public Map readData(),InputStreamReader rRead=new InputStreamReader(inputStream);,BufferedReader bRead=new BufferedReader(rRead);,String msg=bRead.readLine();,if(msg=null)return null;,Map map=new HashMap();,String msgArray=msg.split(,“,”,);,for(int I=0;I0)sb.append(,“,”,);,sb.append(msg);,sb.append(,“,rn,”,);,outputStream.write(sb.toString().getBytes();,12,适配器设计,默认类,Public class DefaultAdapter implements IDataAdatper,public Map changeDataFormat(Map map),return map;,这个类没有只是直接返回,可以用于文件复制或是读取后,结构相同的数据源之间导入。,13,批量导入最后设计,Public class DataImport,public void importData(IReadData iReadData,IWriteData iWriteData,IDataAdapter) throws new Exception,Map map=null;,while(map=iReadData.readData()!=null),map=IDataAdapter(map);,iWriteData.writeData(map);,14,结束语,以上所有代码的开发源于项目中,WLAN,数据的批量导入与数据导出的简化,实际的批量导入中,需要进行,各种业分析,如果将各种业务引入接口与抽象,这样数据的导入将更加易维护。另外,批量导入中也要对,异常进行处理,所以还需要对异常的处理引入接口与抽象。希望能抛砖引玉。,谢谢大家,15,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!