在两个月的漫长假期里,我花了一点时间看了《UML宝典》和XPDL规范,在两分资料中都提到了元模型的概念,虽然以前不只一次的听说过元模型,但是这次我才真正意识到它的重要性。
元模型指的是描述模型的模型。在UML图中,我们用类图来描述系统的结构,这个时候,我们所绘制的类图就是我们系统的模型,而“类图”——UML七种图表概念之一——就是我们的元模型,我们用它来描述我们的系统结构,描述的结构就是我们的模型——我们绘制好的类图。从模型到元模型的过程其实就是抽象的过程,抽象级别的提高可以使我们更容易把握项目的开发,更容易理解整个项目的结构。就好像所有科学都需要一定的哲学思想来进行知道一样,相对于特定的科学,其元级就是哲学。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
以类图为例,我们使用类图的结果就是系统的模型(系统中可能还存在着模型-元模型的关系,这里略去不谈),而类图中的各种定义,如类,接口,引用等就是其元模型。对于UML的使用者,抽象到此级别已经够了,而对于UML的设计者,类,接口,引用等元素只是他们的模型,在此之上还有它的元模型。
模型与元模型并没有一个特定的界限,就象 .net 中所有类的基类都是 Object 一样,所有模型的元模型,归根到底,就是哲学。