欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

元数据驱动实例分析

程序员文章站 2022-06-04 09:33:48
...

前言:

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

问题:

       系统中比较常见各种excel导出的功能要求,如何开发一个通用的excel导出功能?可以适应各种需求?

探索:

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

分析:

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

<!--[if !supportLists]-->(1)    <!--[endif]-->按照需求从数据库中获取符合需求的数据集;

<!--[if !supportLists]-->(2)    <!--[endif]-->按照要求创建符合需求的excel模板;

<!--[if !supportLists]-->(3)    <!--[endif]-->把数据写入excel,并按照一定规则命名excel文件;

思考:

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

<!--[if !supportLists]-->(1)    <!--[endif]-->获取数据集的sql语句及要返回的字段列表;

<!--[if !supportLists]-->(2)    <!--[endif]-->Excel模板的字段列表;

<!--[if !supportLists]-->(3)    <!--[endif]-->数据集字段列表和excel模板的字段列表的字段对应关系;

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

思考重点:

<!--[if !supportLists]-->(1)    <!--[endif]-->抽象性思维;

<!--[if !supportLists]-->(2)    <!--[endif]-->分析过程,提取出一切不可控的可能会根据需求变化而变化的部分;

<!--[if !supportLists]-->(3)    <!--[endif]-->变化的内容就是需要配置定义的内容,也就是元数据,元数据的格式即为元模型;

<!--[if !supportLists]-->(4)    <!--[endif]-->修改程序,可以自动解析适应元数据;

<!--[if !supportLists]-->(5)    <!--[endif]-->尽量的考虑各种需求,提高定义的元数据的格式的实用性,提高通用程序的适用性;

后续扩展:

<!--[if !supportLists]-->(1)    <!--[endif]-->考虑支持多种数据库,数据链接信息需要进行配置定义;

<!--[if !supportLists]-->(2)    <!--[endif]-->考虑支持导出excel或文本文件,需要定义导出方式及格式;

<!--[if !supportLists]-->(3)    <!--[endif]-->考虑配置数据定义和维护时的方便快捷性,定义配置数据的格式及维护界面;

 

 

PS: EEPlatwww.eeplat.com  讨论群: 105867861(验证填写EEPLAT2014))从根本上也是这种思想的产物,只不过EEPlat实现的系统的整体的分析定义和通用解析执行。