软件模式的现状分析研究 计算机专业

举报
资源描述
软件模式的现状 摘要:“模式”二字最早源于建筑行业,随着社会的飞速发展,模式的运用范围也逐渐深入到各个领域。如今,模式已经成为了软件领域内的关键词,其在软件领域的影响远远超过了在建筑行业的影响。软件模式是软件行业的一个新兴名词,其对软件开发产生了重要的影响。在信息技术飞速发展的当今社会,加深对软件模式的了解是十分必要的。本文以软件模式为主要研究对象,主要从软件的几个模式来开展探讨。 关键词:软件模式;软件领域;软件开发 一.软件模式的作用 20世纪90年代,软件模式这一概念被引用到软件工程中,这是软件工程诞生之后一次理论上的完美飞跃。所谓“模式”是指遵从某种规律反复出现的思维方式,而软件模式便是将这一概念应用到软件开发领域,以此来作为软件开发的指导思路。软件模式的核心思想在于对系统的模式进行再次运用。 在信息技术飞速发展的当今社会,软件行业对于软件模式的运用也在逐渐深入。实践证明,软件模式的应用对软件开发有着很大的促进作用,这种作用主要表现为两个方面:1.软件模式是软件工程师在设计、管理和组织软件等实践中经验的提炼,是重复使用软件设计方法的有力工具。软件模式就好比拳击中的组合拳,它为软件工程师提供了大量软件开发的思维方法,如通过运用软件模式能使得复杂的系统变得简洁。2.软件模式不仅为人们在设计软件过程中提供了一套简洁的设计、组织和管理软件方面的词汇,它还为人们提供了一个描述抽象事物的规范标准。信息传达准确、及时与否与软件项目的成功有着紧密的联系,由此可见,在软件开发中交流是十分重要的,而软件模式的这种规范标准促进了软件开发过程中的交流,从而促进软件项目的成功。 二.软件模式分类 “模式”是在八十年代时期被Kent Beck等人引用到软件开发领域中,目前,软件中已经有很多种类的模式,如设计模式、架构模式等。下面我就针对软件开发中的这些模式进行分析。 1.设计模式 设计模式描述普遍存在在相互通讯的组件中重复出现的结构中,设计模式是软件模式中最典型的一种模式,其主要解决的是对象设计中对象之间的关系。设计模式能够使人们更加简单、方便地复用成功的设计和体系结构,将已经证实的信息技术表述成设计模式还能使人们更加容易地理解技术的设计思路。 一般情况下,设计模式主要是指1995年GOF提出的23种模式,他首次将设计模式提升到理论的高度。直至发展到今日,在可复用面向对象软件的发展进程中,虽然有很多新的设计模式在不断地出现,但是GOF提出的23种模式的理论依旧处于无法超越的地位。按大范围的模式种类,可将23种设计模式的分为以下几种:①创建型设计模式,如工厂方法模式(Factory Method)、建造模式(Builder)、原型模式(Prototype)等,这些模式在汽车制造业、快餐业和行政机构中都得到了充分的运用;②结构型设计模式,如装饰模式(Decorator)、桥梁模式(Bridge)等,这些模式在工具、零售业和银行业中都可以找到;③行为型模式,如模板方法模式(Template Method)、命令模式(Command)、访问者模式(Visitor)等,这些模式在运用到了餐馆订餐、音乐和自动售货机中。 近年来,设计模式受到了软件行业的青睐,其特征在于将模式合并分解再创造出新的模式,这样的变化能使得软件开发的国战 2.架构模式 架构模式是一个较为空泛的概念,本文所讲述的“架构模式”主要是指软件实现的框架,其描述的是软件开发过程中的总体纲要和基本架构,在软件程序开发过程中,架构模式就是指模块之间或子系统之间的职责关系,并给出将它们自制在一起的法制,称为系统模式。架构一般强调设计复用,如MVP、总线架构、元数据模式等整体或局部架构。 架构模式常常被分为以下几种:①模块结构型(From Mud to Structure)。这种架构模式能帮助架构师合理地划分系统,避免系统对象的混杂;②分散系统型(Distributed Systems)。这种模式主要是为分散式系统提供完整的结构设计,在软件开发中创设完整地构架;③人机互动型(Interactive Systems)。这种架构模式支持包含有人机互动界面的架构设计,如MVC模式;④Adaptable Systems型。这种架构模式支持软件系统适应各种变化,如技术和软件功能需求的变化。 3.代码模式 代码模式是软件模式中最低层的模式,其和代码或软件开发语言有着紧密的联系,是实现某种具体功能的最佳方式。例如JAVA要想实现飘带文字的功能便可以利用代码模式,较为著名的代码模式案例有双检锁模式(Double-Check Locking)等 三.软件设计模式和架构模式的对比分析 软件设计模式和架构模式是目前软件开发领域中最常用和最实用的两种模式,这两种模式都各具优势。就设计模式而言,其是一种侧重于系统动态行为特征分析的模式,注重对象的组合而不是复制,是在重组的基础上加以创新。以往的模式侧重于类继承,设计模式通过类的层次和数量使得设计更加简洁且具有较好的扩展性。另外,设计模式能有效地指导类继承的层次划分。类的层次划分对于面向对象设计是十分重要的,类的层次划分过多会使得软件程序变得笨重,而如果类的层次过少会使得设计的封装性变差,因此,类的层次划分必须要十分严谨。在类的层次划分上,设计模式从系统动态行为特征的角度,将类分层包装在合理分配各方法属性。而就架构模式而言,其是一个可以重复使用的小型体系结构,在一个指定的范围内为一组软件抽象产物提供能够通用的结构。一般情况下,架构不是一个完整的应用系统,它主要是规定应用系统的体系结构,并提供一系列规定的插口或配置点来供使用者生成其所需要的应用软件。 软件设计模式和软件架构模式之间存在着一定的区别,这种区别主要体现三个方面:1.应用范围。就应用范围而言,软件设计模式的范围更加广泛。当今,软件设计模式被广泛运用到制造业、行政机构、金融业、餐饮业和建筑业等领域,几乎适用于任何应用类型。但架构模式一般会限制在某个指定的应用区域;②表达方面。架构可以通过代码来具体表达,但是设计模式则不能,只有设计模式实例才能转化为代码。在表达方面,架构模式的优势在于它能够用编程语言程序书写出来,可以运行直接重复使用。而软件设计模式在每次应用之前都需要将其实现,这样才能启动运用;③设计模式是一种比架构模式更小的结构型元素。一个架构必须包含若干个设计模式,因此设计模式是一种更小的结构型元素。 软件设计模式和架构模式都各具优势,在软件开发时,软件工程师通过考虑到软件自身的需要来选择软件模式,这样才能设计出更实用的软件程序。 四.总结 21世纪是信息时代,随着信息技术的不断提升和运用范围的不断扩展,人们在软件开发实践过程中获取了很多宝贵的经验。软件模式是一种新的概念,是软件工程师在长期的工作中总结出来的一个经验,其能有效地将复杂程序简洁化,也为软件开发行为提供了一个较完善的规范标准。但是,由于软件模式是软件开发、设计经验中的提炼,因此完全理解和使用过软件模式还存在一点问题,如何在软件设计开发过程中运用“软件模式”这个缺乏系统化和理论化的指导思想是目前仍需要研究的问题。相信在以后的实践中,通过不断地深入了解和完善软件模式,一定能够有效地解决以上问题。 参考文献: [1]彭鑫,赵文耘,夏宽理,沈铖;基于Java的软件再工程支持工具研究[J];计算机工程与应用;2003年18期 [2]张堃;黄庄庄;从C/S遗留系统升级到Web环境的软件再工程[A];第九届全国青年通信学术会议论文集[C];2004年06期 [3]王存思;软件模式理论的研究及其在开发TroBus中的应用[D];福州大学;2002年 [4]武传宇;基于PC+DSP模式的开放式机器人控制系统及其应用研究[D];浙江大学;2002年05期 [5]郭艳玲,赵万生,董本志,乔世坤,徐达丽;数控发展的趋势──开放式体系结构数控系统[J];东北林业大学学报;2000年05期
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号