• 元数据驱动思考实例分析


    前言:

           以数据库导出为excel文件为样例,分析抽象性思维和元数据定义、解析运行的过程。

    问题:

           系统中比較常见各种excel导出的功能要求,怎样开发一个通用的excel导出功能?能够适应各种需求?

    探索:

           首先须要手动写一个从数据库中导出数据到excel的程序,尽量使用别使用ssh之类。

    分析:

           数据导出为excel功能,主要分为两个过程:

    (1)   依照需求从数据库中获取符合需求的数据集;

    (2)   依照要求创建符合需求的excel模板;

    (3)   把数据写入excel,并依照一定规则命名excel文件;

    思考:

           列出几个导出excel的实际样例,依照上面分析的流程再次分析,提取出变化和不变的不同部分,不变的部分作为通用的架构,变化的部分用数据定义清楚。能够看出变化的须要定义的内容是:

    (1)   获取数据集的sql语句及要返回的字段列表;

    (2)   Excel模板的字段列表;

    (3)   数据集字段列表和excel模板的字段列表的字段相应关系;

    改动导出程序,使得程序能够依据上面定义的内容运行对应的操作,达到导出excel的目的。上面配置的内容能够放到xml文件、文本文件或者数据库中均可;事实上这部分数据既能够称为元数据;

    思考重点:

    (1)   抽象性思维;

    (2)   分析过程,提取出一切不可控的可能会依据需求变化而变化的部分;

    (3)   变化的内容就是须要配置定义的内容,也就是元数据,元数据的格式即为元模型;

    (4)   改动程序,能够自己主动解析适应元数据;

    (5)   尽量的考虑各种需求,提高定义的元数据的格式的有用性,提高通用程序的适用性;

    兴许扩展:

    (1)   考虑支持多种数据库,数据链接信息须要进行配置定义;

    (2)   考虑支持导出excel或文本文件,须要定义导出方式及格式;

    (3)   考虑配置数据定义和维护时的方便快捷性,定义配置数据的格式及维护界面;

      

    PS:EEPlat(www.eeplat.com)从根本上也是这样的思想的产物,仅仅只是EEPlat实现的系统的总体的分析定义和通用解析运行。

     

    www.eeplat.com
    QQ群: 105867861(验证填写EEPLAT2014)


  • 相关阅读:
    吕滔博客 --------MYSQL 备份与参数详解
    solaris知识库
    F5 负载均衡
    日志管理 rsyslog服务浅析
    你所不知到的C++ 系列
    php内核探索
    shell 编程中使用到得if语句内判断参数
    linux查看CPU性能及工作状态的指令
    MYSQL 5.7 主从复制 -----GTID说明与限制 原创
    C#:Json数据反序列化为Dictionary并根据关键字获取指定的值
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4083304.html
Copyright © 2020-2023  润新知