模型驱动架构是一种思想,你可以创建模型来表达你需要解决的问题,这些模型不依赖于任何具体实现技术(或者至少大多数不依赖),然后你可以为一个或多个特定平台生成相应的实现。该方法声称在更高的抽象层次上工作更加强大和高效。此外,你的模型可以超越技术(所以即使你的第一种语言/平台过时了,你仍然有可用于下一代解决方案的东西)。另一个关键的好处是许多样板和“苦力活”都可以自动生成。一旦计算机理解了你的情境的语义,它就能更好地帮助你。
有人声称这种方法比传统方法提高10倍的生产力,并且这将是我们未来10年中都在使用的方法。
然而,这只是理论。我想知道的是当理论付诸实践时会出现什么结果。此外,“官方”的MDA版本来自OMG,并且看起来非常沉重。它基于UML,这可能会被认为是好还是坏(我倾向于“坏”)。
但是,尽管存在这些问题,但很难反驳在更高的抽象层次上工作并“教”计算机理解你的问题和解决方案的思想。想象一下一系列仅表达真相的ER模型,然后想象使用它们来生成你的解决方案的大部分内容,先是在一组技术中,然后再次在另一组技术中。
所以,我希望听听现在真正在做MDA的人(无论是“官方”还是非正式的)。你们使用什么工具?效果如何?你们能够实现多少理论承诺?你们看到真正的10倍效率提升吗?