使用第三方开源库是否应该做二次封装

来源:互联网 发布:java高并发网站架构 编辑:程序博客网 时间:2024/05/29 18:57

现在有大量的开源第三方库,大家几乎每个项目都有用到。
而这些库基本都提供了非常友好的接口,供应用层使用。
但是,考虑到版本升级,程序员的水平,甚至使用许可等方面的问题,我考虑对未来大多数要使用的第三方库进行二次封装。
下面是我想到的基于多人开发,有可能发布多次升级版本的情况下的优缺点。
希望大家参与讨论给出意见。谢谢。
优点:
1:当自己的软件版本升级时,可能会出现需要更换第三方库的情况,一个库的使用不能满足新的需求,这时,如果使用了二次封装,那么库的更改和自己编写的应用层就可以脱离,只需要改写二次封装就可以实现。避免了走入应用层,改写大量的代码甚至软件流程和架构。
2:当第三方库发生官方升级和出现了官方对已知局限性及BUG的修订时,只需要在二次封装的接口层改动即可。
3:当需求必须对第三方库添加额外功能时,可以添加在二次封装层,避免了对第三方库本身的修改,减少了潜在危险。
4:新开发人员只需要对二次封装学习就能快速上手,因为二次封装是之前开发人员留下的成果,公司内部有丰富的资料和统一的编码风格,相对于第三方库本身学习要容易和快捷。
5:大家补充下。

缺点:
1:额外工作量:多数第三方库有比较友好的接口,添加一个二次封装会导致开发人员的首次开发中投入相对于直接使用第三方库较多的时间和精力。
2:针对优点3------直接修改第三方库:
  1.代码编写数量少:对库自身代码的改动往往只需要简单的代码就能实现外部改动需要较多代码数量的需求。
  2.运行效率高:嵌入在第三方库内部空间内的功能,必然要比在第三方库外添加的功能运行效率高。
3:大家补充。

当然,是相对代码量比较大的第三方库。如果说是要看情况,希望大家能指出具体的情况的例子。
谢谢了~~

 

如果是还有人维护的第三方开源库,项目组人力不足的情况下,不进行二次封装,也不会有很大的风险。

如果开源库已经没有人维护,或者遇到问题响应速度非常慢,还是需要考虑进行二次封装。

总的来说,我喜欢进行二次封装,自己掌握主动。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四年级解方程应用题 二年级上数学应用题 二年级乘除法应用题 2年级下册数学应用题 七年级上数学应用题 三年级上册数学应用题 二年级下册数学应用题 四年级上册数学应用题 四年级上册数学应用题100道 五年级上册数学应用题 小学二年级数学应用题 二年级数学下册应用题大全 三年级下册数学应用题 小学六年级数学应用题 六年级下册数学应用题 七年级上册数学应用题 四年级鸡兔同笼应用题 五年级小数除法应用题 五年级下册数学应用题 三年级上期数学应用题 小学三年级时间应用题 小学二年级数学应用题大全 小学三年级数学应用题上册 六年级工程问题应用题 六年级数学比例应用题 六年级数学工程应用题 五年级鸡兔同笼应用题 10以内的加减法应用题 五年级上册小数除法应用题 小学二年级数学应用题上册 小学三年级上册数学应用题 二年级数学除法应用题 小学二年级除法应用题 二年级下册奥数应用题 七年级数学方程应用题 五年级数学方程应用题 小学数学四年级应用题 小学四年级上册数学应用题 六年级数学方程应用题 二年级上学期数学应用题 小学五年级上册应用题