author :blog.csdn.net/fancyhf
在rational architect中,mda过程是:
通过工具本身建立设计model,中间可以用pattern来优化设计。
然后,根据自己的架构,开发符合rational architect要求的转换插件,把模型转换为代码模型;也可以把模型转换为代码。
可以反向。
而在open source里:
通过argouml设计模型。
通过argo2ecore转换为xmi。
基于merlin开发自己的代码模板或插件。
把模型转换为符合自己框架的代码。
如果自定义@generator可能可以反向,但比较麻烦。
之前,一般通过xdoclet之类来生成代码;但是很难反向。也不能从模型生成。
现在,也用java 1.5的annoation。一样不好反向。
最好的方式,应该是根据模型,按照代码模板,生成代码;并且可以反向。
rational architect 和 eclipse是同源的,基础结构一样。rational architect多一些插件。
其mda部分,极其接近。核心的是emf、uml2、jdt、plug-in;共同的是xmi。不同的是具体代码生成,architect有xtool的api;而eclipse中,可以用open souce的插件,如merlin,argo2ecore。
所以,基本的mda理论必须的。eclpise开发平台的framework和plug-in是必须掌握的。emf,uml2等也必定要。然后,分开在rational architect中和melrin等实现转换(m2m,m2c)。只是一难一易。
所以,eclpise和jbuilder;ibm和sun,比的不是别的,是工具和语言。
eclipse的野心,是基础性开发平台,然后可以开发丰富的插件。是一个open的世界,人人可参与。
而sun 的java是语言,是一个标准。本身也是因为开放性,所以集全世界的自由开发人员的意志发展。
而微软,则是自成体系。虽然强大,但人们少了自由,就有了抱怨。虽然操作系统是成功垄断,但应用系统,人们会选择java来平衡。
现在,java的世界,多了eclpise,从工具的角度,又多了open和人们的自由和创造。
相比,jbuilder就像微软,我很全也很好,但是没有更多的自由,激发不了更多的创意。
java世界和微软比,是:独裁和民主;约束和自由;遵守和创造;的区别。
就象一个世界,一个社会,民主和自由,导致更多追随着进步。
闽公网安备 35060202000074号