模型驱动开发(Model-driven development,MDD)是软件开发的一种样式,其中主要的软件工件都是由代码和其他工件所生成的模型。其目标是提高企业应用程序开发的生产力和质量。模式在 MDD 的模型转换和代码生成中扮演重要角色。本系列文章详细地讨论了利用 IBM ® Rational® Software Architect(支持 MDD 的集成开发环境)进行模型驱动及基于模式的开发范例。
引言
模型驱动开发(Model-driven development,MDD)是由模型驱动体系架构(Model-driven Architecture,MDA)技术支持并驱动的新软件开发范例,是对象管理组织(Object Management Group,OMG) 发布的软件设计方法。MDA 提供一组指南,用于构建表示为模型的规范,从独立于平台的模型(platform-independent model,PIM)开始,通过适当的具体到领域的语言,然后转换为用于实际的实现平台的一个或多个具体到平台的模型(platform-specific models,PSMs)。它可以是很多种平台,例如 Java™ 2 Platform、Enterprise Edition (J2EE™)、CORBA 或 .Net,以通常的程序设计语言实现,例如 Java™、C# 和 Python。MDA 通常用自动化的工具来执行,如 IBM® Rational® Software Architect。MDD 由 MDA 驱动,并更着重于模型转换和代码生成。
然而,MDD 所使用的基于代码生成的方法有它不利的方面,这是由于例如所生成代码中的约束、技术不强的开发人员和与模型的紧耦合等因素造成的。当企业 100% 地投入到代码生成中时,就没有余地进行调整了,尤其是在开发人员仔细检查其模型的时候。
基于模式的开发方法能够帮助解决该问题。模式是在已知环境中重现问题的解决方案。模式将设计人员的时间、技能和知识进行萃取,从而解决软件问题。此外,当模式在许多不同的项目中重复地使用时,它就成为了最佳实践。通过设计特殊的设计模式,开发人员可以更灵活地控制所生成的代码,这就不简单地拘泥于抽象模型了。
。。。。。。