打印本文 打印本文 关闭窗口 关闭窗口
XDE中模式驱动的设计与开发(一)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数664  更新时间:2009/4/22 23:27:56  文章录入:mintao  责任编辑:mintao


  摘要:

  软件模式,特别是设计模式在现今的软件开发中越来越重要。在许多的标准,工具,以及开发方法中都引入了模式的概念。本文介绍了如何在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。这种模式的抽象层次比较低,且涉及到具体的语言,在这儿不予过多的讨论。

打印本文 打印本文 关闭窗口 关闭窗口