Meta的乐趣 :: 梦想风暴
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=435443 存档链接: https://web.archive.org/web/20041207035046id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=435443
梦想风暴 一个小程序员的信口开河 <<<奴隶社会与共产主义 | 主页 | 成为开发者>>> Meta的乐趣 2004-10-11 对meta的关注始于Tiger中的metadata,对我而言,在所有新增的语法中,它是唯一需要花费一些大脑来理解的东西。虽然经过一番努力,我基本上了解metadata的语法,但对于metadata存在的意义却不甚了解,当时只有一个让人翻来复去讨论的例子――EJB,说是有了metadata,我们再也不必编写一大堆用不着的类了。从此,我的脑子里印下了一个“meta”的记号,只要眼见耳闻“meta”,全身的汗毛都会立刻随之精神起来。 在我看来,meta就是一种自我描述。 自描述?没错,你也许听说过XML就是一种自描述的语言,为什么?因为你可以使用XML对XML的结构进行描述,这就是所谓的XML schema,所以,XML中也存在着meta。 Tiger之前的Java实际上也存在着meta的概念,Class类就是最好的一个例子,一个类通过它的Class对象了解自身的一些特征,比如,它有哪些方法、哪些属性等等。只不过我们很少meta的概念光明正大的提出来而已。眼见meta在C#中得到发扬广大,耐不住寂寞的Java才忙不迭的把meta叫了出来,并通过自我丰富让meta在Java世界中也得到了展现才华的机会。 meta遍布许多领域,而不仅仅出现在程序设计语言之中,前面已经用XML为这个说法做了一次证。 在用UML做设计的时候,我们通常是对一个领域进行建模,而模型的背后往往还会存在meta的模型,可以用于描绘模型本身。MOF中提到meta甚至还有个层次的关系,让我们可以对模型的模型进行描述。 不仅可以用UML描述模型中的类,也可以用来描述面向对象本身的一些概念,比如类、方法、属性这些概念,这与Java中以Class类描述类有异曲同工之妙。更有甚者,我们可以以UML图描述UML图,这便也是一种meta。 进行软件开发时,通常总会有一个显式或隐式的开发过程,它对我们的行为本身进行约束,但还存在一个meta的过程,可以对这个过程进行改进,要不,哪来的那么多方法学。 离不开学习的程序员们是否考虑还有一个meta的学习,有人告诫过我,要想学好东西,先要学会怎样学习,原因就在于此。 正是meta概念的存在,使我们可以有了一双看透本质的火眼金睛,毕竟有意识的工作对于更好的完成工作有着很大的帮助。meta让我们体会造物的神奇,徜徉其中,找出更多的meta,我们可以做得更好。 dreamhead 发表于 2004-10-11 10:13 引用Trackback(0) | 编辑 Comments 推荐一篇文章 http://blog.w3china.org/~orangebench/index.php?p=63,这个站点对meta的描述很全面 dreamhead回复flyisland说: 多谢你的资料! (2004-10-11 19:10) flyisland ( flyisland.blogbus.com ) 发表于 2004-10-11 11:04 发表评论 最近更新 知识的积累 单枪匹马 技术的文字 鱼与熊掌 成为开发者 当Java遭遇OUT参数 新的开始 身体最重要 Hello Velocity之后 Hello Velocity