• 重新认识开源第三方库在平台软件开发中的作用


    作者:朱金灿

    来源:http://blog.csdn.net/clever101

     

                 一般来说在一个平台级别的软件中,开源代码库作为一个第三方库起着一个辅助性的支撑作用。其作用类似于:

             

            但今天发现这样做有一个弊端。就是平台底层往往重新定义第三方库的一些基础数据结构。举个例子说明一下吧,比如我要开发一个遥感图像处理软件,用到了gdal库。在以往的经历中平台架构师往往是平台底层库中重新定义了图像的一些底层的数据结构,比如自定义波段类型枚举、控制点、颜色表等等,而这些数据结构在gdal库中本来就有。这样做有两大弊端:

    一是重复开发浪费时间,同时没有充分利用开源第三方库的经验和资源。

    二是不利于平台的软件的二次开发,加大了学习成本。因为这样做既要学习开源第三方库的底层数据结构,又得重新学习平台底层的数据结构。

            为此我想到需要重新认识开源第三方库在平台软件开发中的作用。是否可以这样定义开源第三方库和平台底层的关系:

                                                                       

            

            上图的具体含义是这样的:对于第三方库的已有的底层数据结构,平台底层没有封装必要的就不进行封装,直接拿过来使用,需要封装的才进行封装。

            再想深一步,平台底层对第三方库的封装在很多时候是需要的,但是这种封装必须是为了获取实际的扩展需要,而不是单纯为了封装而封装。


             如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动中投我一票:

    http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)

    参与投票有机会获奖:

        最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
        幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
        积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。




  • 相关阅读:
    Java 拆分 PDF 文档
    [Java] Spire.Cloud.Word 在Word 文档中添加、删除形状
    Java 生成Word文档
    Java 添加文本框到 PPT 幻灯片
    Linux下kafka的安装及配置
    Linux下zookeeper的安装及配置
    Linux下pip的安装及配置
    Linux安装Python环境
    Linux安装jdk8
    SnowNLP——获取关键词(keywords(1))
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470667.html
Copyright © 2020-2023  润新知