doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:3545回复:0

元数据的理解!!

楼主#
更多 发布于:2022-10-12 09:14
今天给大家分享一下“元数据是什么?及其它作用!“

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


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


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




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




元数据到底是什么?


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


如下图:


图片:640.png






我们在其最宽泛的意义上使用该术语。元数据是任何对应用进行描述的数据——应用该怎样运行、它应该使用什么资源,等等








在典型情况下,元数据在运行时、而不是编译时被访问和使用。你每时每刻都在使用元数据——至少你的程序是这样。假定你点击某个选项,隐藏你的 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  
将抽象放进代码,细节放进元数据[/p][p]程序员修炼之道



这种方法有若干好处:

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

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

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

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

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


扫描右下角公众号,关注我,一起学习吧^_^
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号