快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
到的所有内容都包含在这个包中,它也是用来导出符合RAS规范的可重用模式的逻辑单元(实际的物理封装单元可是一个包,也可以是一个模型)。模式也可以不存在于Asset包中,但是因为模式的创建目标,就是希望能够通过RAS规范来进行重用的,所以并不推荐使用这种方法。

模板协作(Template Collaboration)

在模式Asset中就是template collaboration,它是模式的核心。几乎模式所涉及的所有内容都定义在其中。模版参数的属性可以通过Pattern Explorer来查看。

模板参数(Template Parameters)

一个模板协作包含有一个或者多个模板参数,每一个定义一个特定的模式输入。例如,如果你想有一个名为MyClassInput的参数,你可以使用那个名字创建一个模板参数。

类型元素(Type Element)

每一个模板参数都有一个类型,通过其Type属性来定义。例如,如果模板参数的类型是class,那么这个模板参数就只接受类作为其参数值。这同在定义一个函数的参数时,需要指定其参数的类型(比如int)是一样的。

基础上下文(Root Context)

一个模式还有一个基础上下文,在创建模式时所引入的其它元素被组织在这个地方。这些元素通常都会被直接创建,需要很少或者根本不需要参数来创建它们。比如在一个模式中会被用到的一个支撑类。缺省情况下,基础上下文就是Asset包。你可以在Pattern Explorer中将其切换到其它的包中。

实际上在模式所在的Asset包中,可以存在任何类型的元素,比如描述模式结构的类图,描述模式中参与者之间的交互的顺序图,等等,都可以被放在基础上下文中,在模式被扩展的时候一起被复制到扩展点处。

为了提供对模型的可视化开发和表示,XDE在Eclipse的基础上,添加了新的Model透视图(Perspective)。实际上所有模型相关的内容,不仅仅是模式,都是在这个透视图中实现的。而对模式,除了所有模型公用的Model Explorer外,还有一个Pattern Explorer和Pattern Property视图来提供对模式的定义和描述。对这些界面的使用都还比较简单,关键的是要搞清楚那些属性,设置值是来做什么的。除了上面的那些标准的Eclipse图形元素外,XDE中还引入了Pattern Wizard来帮助你完成模式的应用。

3. 模式的应用

XDE模式的应用,可以看作是一种基于模版(Template)的方法:定义好的模版参数,通过创建,或者同已有模型中同模版参数类型一致的元素的融合,来完成对模式的扩展。模式中没有被定义为模版参数的元素,将在扩展点处被自动创建。

在应用一个模式的时候,有两个基本概念:

1、扩展点(expansion location):这是在模式被应用后,生成的类和其它元素被放置的地方。即使是模式并没有生成任何的元素,而且其基本上下文中也没有涉及到任何得元素,对于模式的应用而言,这个扩展点仍然是需要的。

2、绑定(binding)和绑定点(binding location)。绑定是模式中的参数被赋予具体的参数值的过程,这个参数值可以是用户指定的一个模型元素,也可以是用缺省值自动创建的元素。当一个模式被应用之后,在指定的绑定点中就有一个绑定对象被创建,它被用来维护这个模式的模版参数和具体的参数值之间的绑定关系。通常绑定的作用是用来在修改了模式之后,重新应用模式,而不需要在通过Pattern Wizard来再次设定应用模式所需的参数值,你也可以直接在绑定对象中修改被绑定的参数值。在缺省的情况下,绑定点和扩展点是同一位置。

有了这两个基本的概念后,我们可以把模式的应用简单的描述为如下的过程:在扩展点所在处,通过对模式中所定义的参数指定具体的参数值,并将这些参数值实例化到具体的模型中。而模式所在包中其它的除了模版参数外的其它元素也会被相应的创建,包括类图,顺序图等。

我们还是以Command模式为例,来例示一个模式的定义和应用。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号