看看MDA

来源:互联网 发布:布列斯特要塞 知乎 编辑:程序博客网 时间:2024/06/02 08:39

自从UML开始成功之后,OMG似乎看到前进的方向,连续的推出了一系列的标准,以支持其MDA这个思想。

UML:描述各种模型。
MOF:MOF(Meta Object Facility 元对象机制)描述UML的扩展或者其它未来可能出现的类UML的建模语言。  

XMI:XMI(XML-based metadata Interchange)是基于XML的元数据交换。

 
CWM:CWM(Common Warehouse Metamodel 公共仓库元模型)提供了一种数据格式变换的手段。

MDA的目标其实是和任何一次编程技术的革命是一样的,就是不停的将技术层面的概念转换为易于理解的逻辑层面的概念。这种终极的目标在各种科幻影片中其实早就有了,就是人机对话,直接理解自然语言。

从0,1到汇编到高级语言,我们走的是一个翻译的过程,我们一层层的翻译和组合命令,命令越来越多,但语言越来越好理解,然而这种方式总是可枚举的,命令总是被限定的,并没有典型的飞跃,相信包括MDA这样的东西,其基本元素依然是固化的,就像26个字母组成自然语言的发音一样。

怎样才能达到那种表现上的随意性,好像就只有积累和统一,就是统一语言并能有效的积累。

C比汇编成功的地方是函数库,动态dll技术的出现,我们可以将动作进行封装积累,而oo语言上并没有什么优势,但提供的思想更加的利于积累,Java之所以能盛行于天下,其根本原因就是最大程度的利用了这个特性,现在的Java构建的应用不仅使用的是JDK,而且使用了Apache,jakarta,等等开源组织的东西,而jdk本身也在不断的吸取这些东西成为标准,这样的过程和自然语言的发展如何的相似啊。

然而这种积累总是不能让人满足,各种语言要素的积累不能满足各种语言套路的积累需求,我们需要更加合适的方式来描述我们积累和沉淀下来的东西。毕竟晦涩难懂的积累是不利于传承的。

MDA的提出,希望能有更加清晰的模式来解决这个传承问题,通过这种xml技术,可以交换,通过可视化的工具,可以方便的修改,理解。

但是显然,这种纯抽象化的东西应该如何的被表现为易于理解的,接近自然语言的东西,可视化的东西,本身就是一个大的课题。

写到这里我总是觉得,MDA只是一种思想,许多的技术环节都是迫于现实的无奈而生的,他的本质应该是一个易于开发,易于积累,易于修改,易于传承的软件构建方法,而不是那些标准化的xml,那些不是MDA的课题,只是基础或者是一种对现实妥协的无奈。

原创粉丝点击