快速业务通道

XDE中模式驱动的设计与开发(二) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
应用模式,我们在需要应用的模型上调出快捷菜单,选择Apply Favorite Pattern,然后再选(GOF)Command模式,如下图:

XDE中模式驱动的设计与开发(二) - 编程入门网

XDE中模式驱动的设计与开发(二)(3)

时间:2010-12-10

然后出现Pattern Wizard,帮助你来输入模式的参数值:

XDE中模式驱动的设计与开发(二) - 编程入门网

Pattern Wizard的第一个页面上给出了详细的模式说明,以及主要的参与者之间的交互,以帮助开发者选择合适的模式。点下一步之后,就是要输入参数值了:

XDE中模式驱动的设计与开发(二) - 编程入门网

一般的参数值的指定有两种方法:

Selected Element:如上图,需要在模型中指定一个类型相符的元素,这儿是一个类。这种方法将在已有的元素中融合入模版参数中定义的内容,而不对原有的元素造成任何的影响。

Generated Value:如下图,需要为给定的参数提供一个字符串名字,并生成一个全新的相应名字的元素。

XDE中模式驱动的设计与开发(二) - 编程入门网

当为每一个参数均指定了一个绑定值后,再分别指定扩展点和绑定点即可:

XDE中模式驱动的设计与开发(二) - 编程入门网

XDE中模式驱动的设计与开发(二)(4)

时间:2010-12-10

这样,一个模式的应用就完成了。Command模式中所描述的语义信息,以及具体的模型元素都被引入到现有的模型中。

实际上,在XDE中应用模式的方法有很多,但是使用Pattern Wizard是标准的也是最为简单的方法,而且XDE也允许在定义一个模式的时候,为Pattern Wizard中的每一个页面都做详细的定制,使得模式的应用更为方便简洁。其它的方法,比如使用构造型,使用绑定对象等方法,这儿不再详述。

上面对在XDE中模式的应用过程作了一个简要地描述。而从XDE的内部工作机制来看,模式的应用是分为如下的三步来进行的:

1. 绑定:为模式中的每个模版参数指定具体的参数值。

2. 参数的计算/映射:计算参数相关的内容,比如约束,脚本等等。并根据所指定参数值的数目,进行参数值的映射和匹配。

3. 展开:当所有的参数都确定之后,模式就能够被展开了。传递进去的参数值会被修改或创建,然后复制到扩展点处,模式的展开完成。

对这个过程的理解是很重要的,因为我们不仅仅需要应用已有的模式,还需要来定义,创建模式。对这个过程的理解,能够让我们对模版参数以及其绑定之间的关系有了更清楚地认识。而这恰恰就是模式定义的核心。

4. 模式的定义

从上面的模式应用的例子可以很容易的看出,在XDE中,模式定义的关键在于对模版参数的定义,这包括有模版参数的类型,生成方式,等等。

在XDE中开发模式之前,还应该对抽象出来的模式进行细化,以使之能够有具体的实现。比如,对于不同的语言,模式的实现也会有不同。细化的过程比较繁琐,而且也没有一个一定的准则,这儿就不多加讨论了。我们详细的关注,如何在XDE中开发一个模式。

在XDE中,一个模式的开发,可以遵循如下的步骤:

4.1 创建模式Asset

前面说过,一个模式被包含在一个构造型为<<Asset>>的包中,所以在创建一个模式之前,首先需要创建这个包。可以通过在Model Explorer的上下文菜单中选择Add UML > Pattern Asset来创建这个包。如下图所示,会出现如下的对话框:

XDE中模式驱动的设计与开发(二) - 编程入门网

上图要注意的是一个Asset可以被定义在一个包中,以可以被单独的定义在一个模型中。这将决定模式的基础上下文是包还是整个模型。

4.2 为参与者定义模版参数

模式的参与者是模式中各个职责的承担者,也就是模版参数所需要定义的地方。当然,模版参数还可以包含其他方面的信息,而不仅仅是模式的参与者。简单的说,模版参数定义了所有模式需要被定制的方面。要创建一个模版参数,可以在Model Explorer中新创建的模式协作的上下文菜单中选择Add UML > Template Parameter。再定义好模版参数后,还需要为其指定一个类型。在创建的模版参数的上下文菜单中选择Add UML,然后选择具体的类型:可以是类,方法,属性,接口,字符串,整数等等。基本上大部分的UML元素都可

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号