浏览 1778 次
锁定老帖子 主题:业务与功能实现接口化分离开发
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-09
我以前开发的时候不太注重接口开发,需要接口的时候才开发接口,有时直接在功能里调用具体实现,加上以前对接口好处体会没有那么深,用的时候很随意,到在改别人代码才深有感触。 打个比方,原先的代码里有个FtpUtil工具类,是ftp上传下载功能的具体实现,但是现在上传方式要改成sftp方式上传,这时候问题就出现了,有个被多个业务类继承的父类,以前直接调用ftp实现类,但是现在要改成直接sftp的话,那以前的ftp方式就废弃了,万一哪天再用或被别的要ftp方式上传的地方继承,还需要重新做,这时候,最好的方式就是将这个父类中定义的变量类型由原来的实现类改为IFtpUtil接口,不管ftp还是sftp类都需要实现这个接口,并且接口里定义了一些上传下载等公用方法。这里怎么判断用ftp还是sftp呢,我们这个父类里有个setFtpInfo()方法,原先是从xml里取ftp节点,然后取里面的信息传到FtpUtil工具类的构造方法,但是现在我取ftp节点和sftp节点,如不为空,将参数分别传入到相应工具类的构造方法。这样两种上传方式就不影响了。 写这个日志为了提醒自己,开发的时候要多重考虑和为以后升级提供方便,尽量在业务里使用接口调用。 ftp commons-net sftp jsch 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |