zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

元数据的理解!!

数据 理解
2023-06-13 09:15:54 时间

bug收集:专门解决与收集bug的网站

网址:www.bugshouji.com

今天给大家分享一下“元数据是什么?及其它作用!“

本文内容,来自《程序员修改之道——从小工到专家》

动态配置(目的)

首先,我们想要让我们的系统变得高度可配置。不仅是像屏幕颜色和提示文本这样的事物,而且也包括诸如算法、数据库产品、中间件技术和用户界面风格之类更深层面的选择。这些选择应该作为配置选项、而不是通过集成或工程( engineering )实现。

提示37 Configure , Don ' t Integrate 要配置,不要集成

程序员修炼之道

要用元数据( metadata )描述应用的配置选项:调谐参数、用户偏好( user preference 安装目录,等等。

元数据到底是什么?严格地说(元数据是关于数据的数据最为常见的例子可能是数据库 schema 或数据词典。schema 含有按照名称、存储长度及其他属性、对字段(列)进行描述的数据。你应该能访问和操纵这些信息,就像对数据库中的任何其他数据一样。

如下图:

我们在其最宽泛的意义上使用该术语。元数据是任何对应用进行描述的数据——应用该怎样运行、它应该使用什么资源,等等。在典型情况下,元数据在运行时、而不是编译时被访问和使用。你每时每刻都在使用元数据——至少你的程序是这样。假定你点击某个选项,隐藏你的 Web 浏览器上的工具栏,浏览器将把该偏好作为元数据存储在某种内部数据库中。

这个数据库可以使用私有格式,也可以使用标准机制。在 Windows 下,初始化文件(使用后缀. ini )域系统注册表中的条目都很典型。在 Unix 下, XWindow System 使用 Application Default文件提供类似的功能。Java 使用的是 Property 文件。在所有这些环境中,你通过指定关键字来获取值。另外,更强大和灵活的元数据实现会使用嵌入式脚本语言(详情参见“领域语言43页)。

Netscape 浏览器实际上使用了这两种技术实现偏好。在版本3中,偏好被存为简单的键/值对:

SHOW _ TOOLBAR : False

后来,版本4的偏好看起来更像是 JavaScript :

user _ pref (" custtoolbar . Browser . Navigation _ Toolbar . open ", false );

元数据驱动的应用

但我们不只是想把元数据用于简单的偏好。我们想要尽可能多地通过元数据配置和驱动应用。我们的目标是以声明方式思考(规定要做什么,而不是怎么做),并创建高度灵活和可适应的程序。我们通过采用一条一般准则来做到这一点:为一般情况编写程序,把具体情况放在别处——在编译的代码库之外。

提示38 Put Abstractions in Code , Details in Metadata 将抽象放进代码,细节放进元数据 程序员修炼之道

这种方法有若干好处:

●它迫使你解除你的设计的耦合,从而带来更灵活、可适应性更好的程序。

●它迫使你通过推迟细节处理,创建更健壮、更抽象的设计——完全推迟到程序之外。

●无需重新编译应用,你就可以对其进行定制。你还可以利用这一层面的定制,轻松地绕开正在运行的产品系统中的重大 bug。

●与通用的编程语言的情况相比,可以通过一种大为接近问题领域的方式表示元数据(参见”领域语言”,43页)。

你甚至还可以用相同的应用引擎——但是用不同的元数据——实现若干不同的项目。


苟有恒 , 何必三更眠五更起