快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

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

时间:2010-12-10

摘要:

软件模式,特别是设计模式在现今的软件开发中越来越重要。在许多的标准,工具,以及开发方法中都引入了模式的概念。本文介绍了如何在UML中对软件模式进行建模,并结合具体的工具Rational XDE,对如何定义,如何应用模式作了详细地介绍,并指出了一些相关的问题。

第一部分:模式的UML表示

1.1 软件模式

软件模式(Software Pattern)的概念由来已久,当初软件业从建筑业等其他的工程行业中汲取模式的概念,并把它演化成为软件模式的时候,无疑的是软件工程领域中一项革命的成果。而GoF对设计模式的分类与描述,更使得模式这一概念具体入微,能够被成熟的应用在软件开发之中。

所谓模式,简单而言,是一种针对某一特定的,反复出现的问题的成功的解决方案。就问题本身而言,可以使任意领域和范畴的。在诸如建筑,音乐,写作,管理等等领域中,都有模式的概念存在。在软件领域中,模式被以一种约定的文档形式表现出来,以便于纪录,学习和交流。经验丰富的程序员,可以将他们的知识,通过模式这种更形式化的东西,传递给别人。因而,模式可以看作是一种具体化的,文档化的经验和知识。

在将近十年的时间里,软件模式的有了很大的发展,它不仅仅只是一种经验的表达,现在已经能够作为程序开发的一种驱动力了。模式驱动的软件开发过程(Pattern Based Development),已经不是一种新事物。但是,在今天的软件开发领域中,一个开发思想,或者过程,如果没有一种强有力的工具支持,它就很难得到广泛的应用。

软件模式,就其抽象的级别,可以分为体系结构模式,设计模式和Idiom三种。

1、体系结构模式:提供对体系结构设计中所遇到的问题的解决方案。体系结构的例子包括有:Pipe-Filter模式,白板模式,MVC模式,ORB模式等等。体系结构模式并不一定是面向对象的,它的思想可以为任何开发方法所使用。因而,在利用UML进行描述的时候会有一些困难,而通常使用一些特定专有的描述方法,比如C2(Component-Connector)等。对它的工具支持比较的少,现在大多数尚处于研究阶段。

2、设计模式:提供对面向对象的具体设计中的问题的解决方案,使得设计的结果更具有良好的可扩展性和重用性。通常所说的设计模式,是指的GoF一书中所分类的好了的23个模式。设计模式更具其设计功用,被分为构建型,结构型和行为型三类,包括桥接模式,工厂模式,组合模式等等。对这些模式的描述以及工具支持已经比较成熟。现在已经出现了一些支持设计模式的CASE工具,比如TogetherJ,Rational XDE等。其中以XDE对模式的支持最好。本文将在后面的文章中就XDE中的模式开发展开讨论。

3、习惯用法(Idiom):是针对具体语言的使用模式。主要涉及的问题是,如何用特定方法来解决程序代码编写过程中所遇到的问题,如何更优的编写程序代码。通常一种语言,比如Java,C++等,都会有相应的Idiom。这种模式的抽象层次比较低,且涉及到具体的语言,在这儿不予过多的讨论。

1.2 UML的模式机制--协作,参数化协作

在早期的UML中,并没有提供对模式的支持。而随着模式的日益普及,OMG也终于在新版的UML引入了新的概念来提供对模式建模(主要是设计模式)的支持。

稍稍熟悉UML的人,会对协作图(Collaboration Diagram)的非常地了解,协作图是UML的9大视图之一,主要用来提供对模型的动态描述。

而协作(Collaboration)的概念同协作图其实并不太一样。在面向对象的模型中,一个特定的行为,是由一组对象以及对象之间的消息传递来实现的。这种模型信息就是由协作来表示。协作描叙了在一定的语境中一组对象以及用以实现特定行为的这些对象之间的相互作用。它包含结构和行为两个方面,结构方面与静态视图相

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