使用 Design Pattern Toolkit 进行模型驱动的开发入门

摘自 IBM WebSphere 开发者技术期刊。

引言

当大多数人想到模型驱动的开发时,首先出现在脑海中的是使用某种 UML 模型进行编码以及从该模型生成相应的构件。然而,事情并不总是这样的。模型存在于各种各样的地方。模型是任何驱动产生过程或行为的构件。

模型驱动的开发具有许多目标:

  • 减少在开发常见的构件上耗费的时间。
  • 维护最小限度的信息量。
  • 以一种中立的方式对模型进行维护,这使得从相同的模型生成多种类型的实现和构件成为可能。例如,我们应该可以使用不同的模板从相同的模型中生成 Web UI 和本地的 GUI UI。

本文将通过设计模式工具箱来介绍模型驱动的开发,该工具箱是一种支持 Eclipse 的模板引擎,用来根据可自定义的、模型驱动体系结构转换(JET2 的一种推动技术,请参见参考资料部 分)生成相应的应用程序。我们将介绍设计模式工具箱 (DPTK) 中的代码生成机制的基本知识,与此同时,一并阐述引导您实现模型驱动开发 (MDD)的代码生成方面的一些良好设计。这些设计原则使得 DPTK 不仅仅只是玩具代码生成器,而是一种功能齐全的模型驱动的开发工具,可以生成非常复杂的系统。本文将重点关注于构建模式模板的基本原理。

有关更多的内容或下载设计模式工具箱,请访问 IBM alphaWorks。

模式模板

DPTK 中的模式创造者使用标记来构建模式模板。这些标记具有特殊的行为,用来访问模型、执行逻辑并完成各种各样其他的任务。丰富的标记提供了大量的功能,并且实 际上代表了构建任何复杂的 MDD 转换所需的基本构件。模式模板的主要目标是生成相应的构件,然而正如我们将在下一部分中看到的,模式模板可以用来完成更多的任务。

为了能够更好地理解相关内容,让我们先来研究下面简单的模式模板:

图 1. 简单的模式模板

这是一个非常简单的 DPTK 视图:

时间: 2024-10-23 15:00:58

使用 Design Pattern Toolkit 进行模型驱动的开发入门的相关文章

Rational:基于Design Pattern Toolkit的开发

1 内容简介 设计模式工具箱(Design Pattern Toolkit)是基于Eclipse的模板引擎,它向用户提供一个模型驱动 的框架,帮助用户简化应用程序的开发.用户通过模板定制应用程序的必要信息,设计模式工具箱帮助用 户自动生成应用程序的所有构件.使用设计模式工具箱将显著的加速常见应用程序的开发,与此同时,设 计模式工具箱向用户提供了构建一类应用程序的最佳实践,因此,使用它将帮助用户分享最佳实践的价值 . 本文首先介绍设计模式的基本概念,然后介绍设计模式工具箱(Design Patte

我的Design Pattern之旅[7]:使用泛型改進Adapter Pattern(OO)

Introduction 在(原创) 我的Design Pattern之旅[6] : Adapter Pattern (OO) (Design Pattern) (C/C++) (.NET) (C#) (C++/CLI) (VB) 中的Grapher范例,我们看到Class Adapter必须针对Triangle.Circle.Square量身订做TriangleDrawAdapter.CircleDrawAdapter.SquareDrawAdapter,虽然符合OCP,但每个class就得需

我的Design Pattern之旅[4]:使用Generic改進Strategy Pattern(OO)

Abstract 在(原创) 我的Design Pattern之旅:使用template改进Strategy Pattern (OO) (Design Pattern) (C/C++) (template)中,使用了C++的template改进strategy pattern,本文使用C#的generic改进strategy pattern. Introduction C# 2.0加入了generic对泛型的支援,所以想将原来C++的template程式一行一行的改成C# generic. 在s

我的Design Pattern之旅[3]:使用template改進Strategy Pattern(OO)

在(原创) 我的Design Pattern之旅:Strategy Pattern (初级) (Design Pattern) (C++) (OO C++) (Template C++)中,我们使用了strategy pattern让Grapher能画Triangle.Circle和Square 因为需求再次改变,:D,我们希望Grapher能将文字印在各Shape中,执行结果如下 Draw Hello Shape!! in Square Draw Hello C++!! in Circle 为

Scalaz(10)- Monad:就是一种函数式编程模式-a design pattern

   Monad typeclass不是一种类型,而是一种程序设计模式(design pattern),是泛函编程中最重要的编程概念,因而很多行内人把FP又称为Monadic Programming.这其中透露的Monad重要性则不言而喻.Scalaz是通过Monad typeclass为数据运算的程序提供了一套规范的编程方式,如常见的for-comprehension.而不同类型的Monad实例则会支持不同的程序运算行为,如:Option Monad在运算中如果遇到None值则会中途退出:St

Design Pattern: Prototype 模式

  学习是分享和合作式的! 转载请注明出处:http://blog.csdn.net/wdzxl198/article/details/9271773: 文章摘自: http://www.riabook.cn/doc/designpattern/: 您从图书馆的期刊从发现了几篇您感兴趣的文章,由于这是图书馆的书,您不可以直接在书中作记号或写字,所以您将当中您所感兴趣的几个主题影印出来,这下子您就可在影印的文章上画记重点. Prototype模式的作用有些类似上面的描述,您在父类别中定义一个clo

软体样式(Design Pattern )之应用

软体样式(Design Pattern )           之应用 ※ 高焕堂 自从1991年以来╋样式观念和理论逐渐成为物件导向(OO)领域中最热门的话题之一.本文探讨如何使用样式╋解决软体上的常见问题. 什么是样式?      顾名思意╋样式是人们遭遇到特定问题时╋大家惯用的应付方式.样式可用来解决问题╋而且是有效.可靠的.掌握愈多样式╋运用愈成熟╋就愈是杰出的设计专家.    依据样式理论大师亚历山大(Christopher Alexander) 之定义

Kinect for Windows SDK开发入门(十六)面部追踪上

在前面一篇文章中,我们使用Emgu来识别人的脸部,当时的Kinect SDK版本是1.0,五月份发布1.5版本的SDK之后,我们就能够直接使用Kinect实现人脸识别,而不需要借助第三方类库. SDK1.5中新增了人脸识别类库:Microsoft.Kinect.Toolkit.FaceTracking使得在Kinect中进行人脸识别变得简单,该类库的源代码也在Developer Toolkit中.在Developer Toolkit中也自带人脸识别的例子,您也可以打开运行或者查看源代码. 开发入

Kinect for Windows SDK开发入门(十四)进阶指引 上

前面十三篇文章介绍了Kinect SDK开发中的各个方面的最基础的知识.正如本系列博闻标题那样,这些知识只是Kinect for windows SDK开发的入门知识.本文将会介绍Kinect进阶开发需要了解一些知识(beyond the basic). 读者可能会注意到,在学习了前面十三篇文章中关于Kinect开发的方方面面,如影像数据流.景深摄像机.骨骼追踪.麦克风阵列.语音识别等这些知识后,离开发出一些我们在网上看到的那些具有良好用户体验的Kinect应用程序还是显得捉襟见肘.Kinect