background image

软件设计模式及其使用

 摘要:在计算机软件快速发展的今天,软件设计模式在计算机程序设计的运用中越来越
重要。软件设计模式按其完成工作的种类可分为了创建型的模式、结构型的模式以及行为型
的模式。在实际应用中根据分析研究问题的结果选择和使用合适的软件设计模式。

 

  关键词:软件设计

 设计模式 模式分类 模式选择 模式使用 

    关 于 模 式 这 个 概 念 , 最 早 的 时 候 是 在 城 市 建 筑 领 域 当 中 出 现 的 , 而

Christopher 

Alexander[1]所写的一本关于建筑的书中对模式这一概念有明确的定义,其大概含义是说每
一个模式都是描述我们周围发生的事情,并对发生的问题进行合理的解释,使得利用这个
模式就可以重复的解决类似的问题。

Christopher Alexander 利用他所得出的模式这个概念解

决了建筑领域中的一些问题,模式这一概念发展到现在,已经逐渐成为计算机领域当中独
有的概念了。

 

  

1 软件设计模式分类 

  对软件设计模式的分类有许多不同的方法,在这里主要是根据模式在计算机软件设计
中能够完成何种种类的工作来决定的,大致可以分为创建型的模式、结构型的模式以及行为
型的模式这三种类型。而当模式运用于不同因素的时候又可以分为不同的类型,运用于类的
时候可以分为类模式,运用于对象的时候可以分为对象模式。所谓类模式就是处理系统中的
类与子类之间关系的模式,这些关系可以通过继承的形式来建立,静态的类模式在进行编
译的时候便要确定下来;所谓对象模式,就是处理对象之间关系的模式,这些关系在系统
运行的时候是能够不断变化的,所以对象模式是动态的模式。

 

  第一,创建型的软件设计模式。创建型的设计模式是和对象的创建有着十分必然的关系,
也就是说,在描述创建对象的时候,要将对象创建过程的具体细节进行隐藏设计,使得系
统程序代码能够不依赖具体的对象。所以当我们需要在系统中增加一个新的对象的时候,是
不需要修改系统的源代码的。创建型的类模式需要将对象当中的部分在子类当中进行延迟性
的创建工作,而创建型的对象模式则是将对象的部分在另一个对象中进行延迟性的创建。

 

  第二,结构型的软件设计模式。结构型的软件设计模式是处理类的和处理对象的设计模
式的组合形式,也就是能够描述类与对象之间的大的结构如何组建起来,并且在组建之后
还能够拥有新的功能的一种模式。结构型的类模式是采用继承性的机制来对类进行组合。而
结构型的对象模式则是能够描述对象之间的组装方式。

 

  第三,行为型的软件设计模式。所谓行为型的软件设计模式所描述的是算法和对象之间
所拥有的任务或者职责的分配情况,这其中不仅包括所需要的类或者对象需要的设计模式
还包括类和对象之间需要的通讯模式。这些模式的存在使得系统运行过程中难以追踪的十分
复杂的控制流得到了良好的刻画。行为型的软件设计模式是使用继承机制来对类进行必要的
分配工作,而在使用对象的时候是使用对象的复合而并非继承,所要描述的是一组对象是
如何在合作的情况下完成单独的对象无法独自完成的任务。

 

  

2 软件设计模式的选择和使用 

  通过上面介绍的面向对象的软件设计模式,我们了解到软件设计模式的存在能够极大
限度的帮助设计者用最快最好的方式来完成相关的软件程序设计。而面对特殊的问题的时候,
在已有的软件设计模式中也可以十分方便的找到合适的软件模式进行相关的程序设计,尤
其是在面对软件设计人员还不熟悉的新问题的时候。

 

  在对软件设计模式进行选择的时候,应该先理解问题所表现出来的需求,问题中所表
现出来的任何需求都能够在一个或者几个的问题领域中找到类似的地方,这种理解问题的
需求再在不断的寻找过程中找到可能需要的软件设计模式或者软件设计模式组的过程,对