模型驱动架构的概念是,您创建的模型表达您需要以不含任何(或至少大多数)实现技术的方式解决的问题,然后为一个或多个特定平台生成实现.声称在更高层次的抽象工作更有力和更有成效.此外,您的模型比技术更长(当您的第一语言/平台变得过时时,您仍然可以使用它来为您的下一代解决方案使用).另一个声称受益的关键是可以生成很多样板和"笨拙的工作".一旦计算机理解了您的情况的语义,它可以帮助您更多.
有人声称这种方法的效率提高了10倍,而且这是我们在10年内构建软件的方式.
然而,这只是理论.我想知道当橡胶遇到道路时会有什么结果.此外,MDA的"官方"版本来自OMG,看起来非常沉重.它主要基于UML,根据你的要求(我倾向于"坏")可能会被视为好或坏.
但是,尽管存在这些问题,但很难与更高层次的抽象工作以及"教导"计算机来理解问题和解决方案的语义.设想一系列简单表达真理的ER模型,然后想象使用它们来生成解决方案的重要部分,首先是在一组技术中,然后再在另一组技术中.
所以,我很想听听那些现在正在做MDA的人("官方"与否).你用的是什么工具?它是如何运作的?您能够捕获多少理论承诺?你看到真正的10倍效率提升吗?
对这个问题缺乏回应有点不祥......也许我会让Dijkstra说出来.
......因为计算机出现在十年之后,对科学技术的进步和健康的信心实际上是无限的,所以回想一下,鉴于其最初的目标,人类在过去五个世纪的科学努力可能是明智的.一直是一个壮观的失败.
大家都记得,第一个也是最重要的目标是开发Elixir,让那个喝它的人永恒的青春.但由于永恒的贫困没有多大意义,科学界很快就开始了第二个项目,即.哲学家的石头,可以让你根据需要制作尽可能多的黄金.
...
寻求理想的编程语言和理想的人机界面,使软件危机在阳光下像雪一样融化 - 并且仍然具有! - 搜索Elixir和Stone的所有特征.这一搜索得到了双方的大力支持,首先是因为奇迹的运作是你可以从计算机中得到的最少,其次是来自一直要求Elixir和Stone的社会的财政和政治支持.首先.
可以区分两个主要的流,寻求石头和寻求Elixir.
对Stone的追求是基于我们的"编程工具"太弱的假设.一个例子是相信当前的编程语言缺乏我们需要的"特征".PL/I是产生的更加壮观的石头之一.我还记得1968年Datamation中的广告,其中一个微笑的Susie Mayer全彩宣布她通过切换到PL/I解决了所有编程问题.几年后,可怜的Susie Mayer不再微笑,这是太可预见的了.毋庸置疑,这个任务继续进行,并且在适当的时候,以Ada的形式产生了下一块可能的石头(在铁幕后面被感知地称为PL/II).即使是初学者最基本的占星术也足以预测Ada不会成为这种类型的最后一块石头.
...
另一系列以"编程工具"形式出现的石头是在"软件工程"的旗帜下制作的,随着时间的推移,它已经试图用管理学科取代知识学科,达到它现在已被接受为其章程的程度. "如果不能,你该怎么编程."