出云怜 出云怜
关注数: 12 粉丝数: 10 发帖数: 527 关注贴吧数: 2
谈谈设计思想,JAVA里的接口(interface)如何应用(以前写的老文) 问起JAVA的接口interface的定义,会JAVA的人都会把概念背的滚瓜烂熟 但是很多人在做开发的时候,却不知道接口怎么应用,毕竟很多人在做JAVA开发多以业务层开发为主,这个层面比较流行的JAVA的接口应用类似于像DAO对像定义接口这样的应用 大部分人都是照步就搬的去实现,而并不知道接口真正的作用是什么 这里从设计思想的角度出发,来谈谈JAVA的接口如何应用 以最近遇到的一个案例出发为例子吧: 最近在做一个项目,需要导出EXCEL报表,选定应用组件就使用JXL来生成EXCEL 不过由于JXL比较基础,相比起来要全面掌握做一个EXCEL报表的组件对于组员来讲确实是比较花时间的事情,开发也花时间,项目也不好拖太久 所以准备基于JXL组件设计一套模板生成EXCEL报表组件 这个组件最关键的有两个类: 第一个是EXCEL输出数据源,预先将计算好的数据生成这样一个数据源准备好 第二个是EXCEL模板解析器,放入生成好的数据源后按照预先设置的EXCEL模板进行解析,生成最终的EXCEL报表 而在做EXCEL输出数据源的时候,就可以通过定义接口的方式,这是为什么呢? 实际上对于EXCEL模板解析器来说,它从输出数据源里主要的操作是取得数据 既然是取得数据,就可以将输出数据源规范几个取得数据的方法,这样给EXCEL模板解析器来调用 这个时候就可以把EXCEL输出数据源先定义一个接口,定义的方法都是模板解析器需要用到的取数据的方法 然后根据这个接口,来写正式的数据源的类,就可以写各种各样的数据源,业务层开发直接创建其中一个数据源对像放到模板解析器里就可以直接使用 比如我做了一个静态数据源,普通的一个一个数据放入的数据源 再做一个数据库查询数据源,写一个SQL语句自动的就能取得到EXCEL报表的数据 有了这个接口,使得数据源的扩展变得很方便,这样业务层开发就可以根据自己的需要选择需要用的实体类 接口在架构设计时的应用还是很多的,最关键的是接口的通用性可以给设计带来很多扩展性 要做好扩展性,多多利用接口,甚至可以把整个要设计的组件都完全定义成接口,而自己再提供一套实现方案 这样未来其它设计要利用到这个组件的时候,就可以有非常好的兼容性 接口的妙处,要多多品味,多多思考
1 下一页