希望这个问题不要太笼统:
通常,MDSD被定义为将模型规范转换为可编译程序的源代码。
除此之外,人们还可以解释模型。
虽然解释通常倾向于较慢,但更新模型的部署可能会更简单。
总而言之:为什么要使用MDSD编译模型?什么时候应该解释模型?
发布于 2011-04-27 07:44:59
你所说的是“可执行规范”。当您的规范是完整的(例如,涵盖了所有情况;许多当前的“模型”并不完整,或者只有在它中间有额外的Java源代码文本才是完整的,这不容易解释),并且您的解释器足够快,所以用户群不关心时,这才有效。
但这就是问题所在。编译器存在的全部原因是因为解释规范通常比编译的等价物慢100倍。(你见过或用过真正的C解释器吗?)
我不知道有多少人会执行“模型”。我想他们都认为解释器太慢了,或者他们被挂在模型不完整/低级别源代码阻抗不匹配上。
发布于 2018-04-20 23:14:00
在某些情况下,这两种策略都是有效和有价值的。
在可能的情况下,模型解释策略可能比编译的策略更好,因为您只需修改持久化模型来更改已部署应用程序的行为,而无需重新编译和部署。
但在以下情况下,您可能需要使用编译策略:
来说,这是一个关键问题
我最近开发了一个GUI模型编辑器,动态解释它的模型,以呈现完全可操作的表单编辑器。性能不是问题,但是仍然为这些GUI生成了代码,因为我们有具有数千个参数的巨大GUI(对于航天动态应用程序),以及许多自定义UI行为,这些行为需要一些额外的源代码才能完全实现。
https://stackoverflow.com/questions/5797475
复制相似问题