元数据驱动思考实例分析

前言:

       以数据库导出为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)

元数据驱动思考实例分析

时间: 2024-08-01 05:23:08

元数据驱动思考实例分析的相关文章

第十七篇:实例分析(3)--初探WDDM驱动学习笔记(十)

续: 还是记录一下, BltFuncs.cpp中的函数作用: CONVERT_32BPP_TO_16BPP 是将32bit的pixel转换成16bit的形式. 输入是DWORD 32位中, BYTE 0,1,2分别是RGB分量, 而BYTE3则是不用的 为了不减少color的范围, 所以,都是取RGB8,8,8的高RGB5, 6, 5位, 然后将这16位构成一个pixel. CONVERT_16BPP_TO_32BPP是将16bit的pixel转换成32bit的形式 输入是WORD 16BIT中

第十七篇:实例分析(4)--初探WDDM驱动学习笔记(十一)

感觉有必要把 KMDDOD_INITIALIZATION_DATA 中的这些函数指针的意思解释一下, 以便进一步的深入代码. DxgkDdiAddDevice 前面已经说过, 这个函数的主要内容是,将BASIC_DISPLAY_DRIVER实例指针存在context中, 以便后期使用, 支持多实例. DxgkDdiStartDevice 取得设备信息, 往注册表中加入内容, 从POST设备中获取FRAME BUFFER以及相关信息(DxgkCbAcquirePostDisplayOwnershi

【转】Linux I2C设备驱动编写(三)-实例分析AM3359

原文网址:http://www.cnblogs.com/biglucky/p/4059586.html TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1版本规格 支持标准模式(100K bits/s)和快速模式(400K bits/s) 多路接收.发送模式 支持7bit.10bit设备地址模式 32字节FIFO缓冲区 可编程时钟发生器 双DMA通道,一条中断线 三个I2C模块实例I2C0\I2C1\I2C2 时钟信号能够达到最高48MHz,来自PR

Linux I2C设备驱动编写(三)-实例分析AM3359

TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1版本规格 支持标准模式(100K bits/s)和快速模式(400K bits/s) 多路接收.发送模式 支持7bit.10bit设备地址模式 32字节FIFO缓冲区 可编程时钟发生器 双DMA通道,一条中断线 三个I2C模块实例I2C0\I2C1\I2C2 时钟信号能够达到最高48MHz,来自PRCM 不支持 SCCB协议 高速模式(3.4MBPS) 管脚 管脚 类型 描述 I2Cx_SCL I/O

Linux设备驱动:kobject原理与实例分析

1.Sysfs文件系统 "sysfsis a ram-based filesystem initially based on ramfs. It provides ameans to export kernel data structures, their attributes, and thelinkages between them to userspace." Linux2.6内核引入了sysfs文件系统.sysfs被看成是与proc同类别的文件系统.sysfs把连接在系统上的设

Camera图像处理原理及实例分析-重要图像概念

Camera图像处理原理及实例分析 作者:刘旭晖  [email protected]  转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rgbbones.googlepages.com/ 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果.否则,缺乏了理论的指导,只能是凭感觉和经

Camera图像处理原理及实例分析

Camera图像处理原理及实例分析 作者:刘旭晖  [email protected]  转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rgbbones.googlepages.com/ 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果.否则,缺乏了理论的指导,只能是凭感觉和经

spi驱动框架全面分析,从master驱动到设备驱动

内核版本:linux2.6.32.2 硬件资源:s3c2440 参考:  韦东山SPI视频教程 内容概括: 1.I2C 驱动框架回顾 2.SPI 框架简单介绍 3.master 驱动框架 3.1 驱动侧 3.2 设备侧 4.SPI 设备驱动框架 4.1 设备册 4.2 驱动侧 5.设备驱动程序实例 1.I2C 驱动框架回顾 在前面学习 I2C 驱动程序的时候我们知道,I2C 驱动框架分为两层,一层是控制器驱动程序 i2c_adapter,它一般是由芯片厂商写好的,主要提供一个 algorithm

租户个性化定制和元数据驱动技术

随着一些SaaS软件逐渐被越来越多的租户使用,租户的个性化定制需求逐渐成为一个SaaS软件实用性和适用性的一个困难.不同租户的需求几乎都是有差异的,每个租户要求定制化他们的应用也是很自然的.传统的SaaS软件模式,无法做到很好的应用隔离,同时由于大多采用传统的二进制代码开发维护方式,也使得个性化定制的支持随着客户定制量的增加会变成一个天文数字的工作量,也使得最终无法支持租户的个性化定制.因而现在SaaS软件面对个性化定制的对策是不支持租户个性化定制或收取昂贵的个性化定制费用,这些都成了SaaS推