XDE中模式驱动的设计与开发(二) - 编程入门网
应用模式,我们在需要应用的模型上调出快捷菜单,选择Apply Favorite Pattern,然后再选(GOF)Command模式,如下图:
XDE中模式驱动的设计与开发(二)(3)时间:2010-12-10然后出现Pattern Wizard,帮助你来输入模式的参数值: Pattern Wizard的第一个页面上给出了详细的模式说明,以及主要的参与者之间的交互,以帮助开发者选择合适的模式。点下一步之后,就是要输入参数值了: 一般的参数值的指定有两种方法: Selected Element:如上图,需要在模型中指定一个类型相符的元素,这儿是一个类。这种方法将在已有的元素中融合入模版参数中定义的内容,而不对原有的元素造成任何的影响。 Generated Value:如下图,需要为给定的参数提供一个字符串名字,并生成一个全新的相应名字的元素。 当为每一个参数均指定了一个绑定值后,再分别指定扩展点和绑定点即可: 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来创建这个包。如下图所示,会出现如下的对话框: 上图要注意的是一个Asset可以被定义在一个包中,以可以被单独的定义在一个模型中。这将决定模式的基础上下文是包还是整个模型。 4.2 为参与者定义模版参数 模式的参与者是模式中各个职责的承担者,也就是模版参数所需要定义的地方。当然,模版参数还可以包含其他方面的信息,而不仅仅是模式的参与者。简单的说,模版参数定义了所有模式需要被定制的方面。要创建一个模版参数,可以在Model Explorer中新创建的模式协作的上下文菜单中选择Add UML > Template Parameter。再定义好模版参数后,还需要为其指定一个类型。在创建的模版参数的上下文菜单中选择Add UML,然后选择具体的类型:可以是类,方法,属性,接口,字符串,整数等等。基本上大部分的UML元素都可 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |