InfoQ:模型驱动开发在哪里成功了?

10-09-23 banq
InfoQ: Model-Driven Development: Where are the Successes?

并不是不能大家使用MDD,而是告诫大家MDD的复杂性。并且提供了一些建议:

1.尽量保持领域模型更加紧凑和窄化。

2.领域要众所周知。

3.对MDD要足够重视,不要作为试点项目。

4.MDD最好形式是落地

5.Be careful of gains that are offset elsewhere

6.不要对代码生成迷惑

7.不是每个人能够抽象思考。

8.大多数项目失败在可伸缩上。

9.使用正确的工具和过程。

MDA诞生十年后,需要大家来总结和讨论。

有人在回帖中对基于图形(MDE)的和基于文本语言(DSL)的两种MDD方式比较:

图形化在架构基本虚拟抽象是有用处的,但是在对象组件构件级别没有任何意义,相比基于文本语言,图形化工具难于和环境以及开发过程进行整合。

为什么不使用文本语言实现MDD呢?文本建模语言DSL已经有不少成功工业应用,当然还有些问题,比如削弱MDD的一些特点。

今天,好的编程语言不但在细节上执行有效,而且支持DSL构建,提供抽象层次,我也看到一些DSL用在组件和类似MDD任务上。

我们是否确实需要一种特定的MDD工具,是文本或者图形?

所有MDD都是基于面向对象,但是,对象在构建可重用的组件构件标准上比较力不从心,我们知道的成功标准组件,如TCp HTTP都不是对象化的,而面向对象的组件标准如CORBA则证明带来复杂性。

面向函数语言functional programming具备形成成功组件构件标准的特点。

    

猜你喜欢