希望这个问题不太通用:
传统上,MDSD被定义为将模型规范转换为可编译程序的来源。
除此之外,人们可以解释模型。
虽然解释通常较慢,但更新模型的部署可能更简单。
一般情况:为什么要使用MDSD编译模型?什么时候应该解释模型?
答案 0 :(得分:1)
您所说的是“可执行规范”。当您的规范完成时(例如,涵盖所有情况;许多当前的“模型”不完整,或仅通过其他Java源代码 text 在它的中间,这是不容易解释的),你的翻译速度足够快,所以用户群不关心。
但这就是问题所在。编译器存在的全部原因是因为解释规范通常比编译的等价物慢100倍。 (曾经见过或曾经使用过真正的C语译员吗?)。
我不知道有很多人执行“模特”。我认为他们都认为解释器太慢,或者他们对模型不完整性/低级源代码阻抗不匹配感到不满。
答案 1 :(得分:0)
在某些情况下,这两种策略都是有效且有价值的。
如果可能,模型解释策略可能比编译策略更好,因为您只需修改持久模型即可更改已部署应用程序的行为,而无需重新编译和部署。
但您可能需要在以下时间使用编译策略:
我最近开发了一个GUI模型编辑器,即时解释其模型以呈现完全可操作的表单编辑器。性能不是问题,但是为这些GUI生成了代码,因为我们拥有包含数千个参数的巨大GUI(用于太空飞行动态应用程序),以及许多需要一些额外源代码才能完全实现的自定义UI行为。 / p>