简述软件设计模式及其使用
2014-04-29王飞
【摘要】随着科学技术的发展,计算机应用技术已经得到了广泛的使用。在这个计算机软件快速发展的时代,人们对计算机性能的要求不断提高,传统的计算机程序设计已经不能满足当代社会发展的需求了。而软件设计模式作为当代计算机软件开发而形成的一种全新的设计理念,软件设计模式在计算机的应用中显得越来越重要了。本文对软件设计模式以及软件设计模式的使用做了相关的分析。
【关键词】软件设计;设计模式;使用
引言
在这个网络信息化时代里,计算机技术得到了飞速发展,计算机软件也变得越来越复杂。计算机软件被广泛的应用到人们日常生活当中的方方面面,为我国社会以及经济的发展提供了技术依靠。在人们生活水平改善的同时,人们对软件的重用性以及安全性的需求也越来越高。因此,对计算机软件设计模式进行研究有着重大意义。
1.软件设计模式的概述
软件设计模式(software design patt-ern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结[1]。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。软件设计模式是对面向对象设计中反复出现的问题的解决方案。设计模式最早是由建筑设计领域中引入到计算机软件设计中。
软件设计模式可以是人们更加简单地复用成功的设计以及结构体系,为软件设计者提供设计思路。软件设计模式中必不可少的四个基本要素就是模式名称、问题、解决方案以及效果。
模式名称是一个助记名,其主要作用是通过两个词来描述软件模式中的问题、解决方案以及效果。模式名称可以为软件设计人员提供设计思路,从而提高设计效率[2]。问题是对软件设计模式中问题的前因后果进行描述,问题的提出有助于设计人员更好的抱我软件设计,问题可能是对软件模式中特定的设计问题进行描述,例如怎样用对象表示算法,问题是软件设计模式中影响设计效果的一个重要因素,在进行模式设计时,对于问题部分有时必须满足一定的条件才能进行设计。解决方案描述了软件设计中各个组成部分,它是针对设计模式中存在问题的一种有效解决方法。
解决方案中的各种元素可以应用在多种不同的场合。效果描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
2.软件设计模式的重要性
计算机技术作为当代科学发展的产物,是先进生产力的代表,在我国社会以及经济发展过程中有着积极的作用。计算机软件的使用越来越普遍,为我国当代企事业的经济效益提供了保障[3]。但是在这个竞争激烈的市场环境中,人们对软件设计模式中代码的复用性、软件模式的可维护性的需求越来越高。为此对软件模式进行优化设计有着重大作用。软件设计模式不仅可以增加代码的复用性,提高软件模式的可维护性,同时为设计人员提供设计思路,节约设计时间,提高设计效率,从而满足我国当代社会发展的需要。
3.软件设计模式分类
3.1 结构模式
结构模式是对软件系统中的基本结构组织进行描述。它是一种处理对象与模式结构的组成形式。结构模式提供一些子系统,制定他们的职责,并制定出一定模式规则将这些子系统组织起来,从而为设计人员提供设计思路,满足用户的需求。
3.2 创建模式
创建模式的核心思想就是将一个复杂对象的构建算法与它的部件以及组装方式分离,使得构建算法和组装方式可以地独立存在[4]。在创建模式中,用户端不需要负责对象的创建和组装,软件系统会将对象的创建交由具体的创建者,把组装的任务交给专门负责部件组装的人员,从而明确了软件系统中各个类的职责。创建模式主要有组装类、创建者、抽象产品等部分组成。在创建模式中,软件程序代码不依赖具体的对象,因此当用户在创建一个新的对象时,利用原来的代码就可以完成对象的创建。复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。
3.3 行为模式
行为模式是从大量的实际行为中总结出来作为行为的理论标准。在软件设计模式中,行为模式只对软件模式中的算法以及对象之间的职责分配情况进行描述。行为模式对人在执行某种任务行为的抽象概括,用来衡量以及分析人们的行为动作。在行为软件设计模式中,它所描述的不仅仅是对象的设计模式,同时还是对象与描述类之间的模式。
4.软件设计模式的使用
为了迎合当代人们对软件代码的复用需求以及软件模式的可维护性,设计人员对软件模式进行了优化设计,将软件设计模式进行分类,其次就是要选择合适的设计模式运用到具体的环境中去。
4.1 设计模式的选择
随着我国当前软件设计模式的研究不断深入,设计模式越来越多,不同的环境对设计模式的需求也会不同,正确的选择设计模式可以为设计人员提供许多便利。首先要理解问题需求,设计人员要根据模式所针对的问题,选择恰当的模式。其次,研究组内模式,对组内的意图、目的进行相关分析。最后寻找解决方案,在对问题进行分析之后,需要对问题的可行性选择合适的设计模式。
4.2 设计模式的使用
在选择好设计模式后,就是将设计模式应用到实际的设计过程中。在使用设计模式的时候必须遵循的一个原则就是循序渐进。首先根据设计模式的结构进行分析,了解设计模式之间的协作关系,同时还要弄清楚这种设计模式使用什么样的环境,其设计的目的与意图是什么,其次,在了解了设计模式的结构、意图以及适用范围之后,选择好模式参与者的名字,确保设计模式在应用中统一。再次,建立起设计模式中各元素之间的关系,明晰他们之间的接口,在设计模式中要弄清数据与对象引用的实际变量。最后就是实现执行模式内职务与协作的操作。
5.结语
在我国当前社会发展过程中,模式设计这一概念已经被广大设计人员所接受,并在实际的软件设计中得到了广泛的使用。在进行项目开发活动中,有一些设计在在起始阶段能够工作的很好,对着项目的进展,经常需要对已有的代码进行变换,而原有的设计模式已经不能很好的满足工作的需求,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
设计模式是针对问题的产生而提出的一种解决方案,它可以帮助设计人员理清设计思路,为设计人员提供设计方法,一旦设计人员理解了一个设计模式的意图、动机,那么在设计过程中,就很容易的发现适用于我们自己的设计模式,从而大大简化设计工作,并且可以得到一个比较理想的设计方案,满足项目设计的需求。
参考文献
[1]张晓东,闫新庆,李勇敢.Observer软件设计模式在Delphi中的实现[J].河南师范大学学报(自然科学版), 2001(04).
[2]王越超,姚娱.探讨软件设计模式背后的科学方法与科学哲学[J].广州城市职业学院学报,2010(01).
[3]吕雪峰,赵军芬.嵌入式系统软件设计模式研究与应用[J].单片机与嵌入式系统应用,2007(10).
[4]饶一梅,王治宝,王秀峰.软件设计模式及其在Java类库中的典型实现[J].计算机工程与应用,2002(04).
作者简介:王飞(1982—),男,河南郑州人,河南省工业设计学校教师,研究方向:计算机视觉及软件工程。