版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件模式的现状摘要:“模式”二字最早源于建筑行业,随着社会的飞速发展,模式的运用范围也逐渐深入到各个领域。如今,模式已经成为了软件领域内的关键词,其在软件领域的影响远远超过了在建筑行业的影响。软件模式是软件行业的一个新兴名词,其对软件开发产生了重要的影响。在信息技术飞速发展的当今社会,加深对软件模式的了解是十分必要的。本文以软件模式为主要研究对象,主要从软件的几个模式来开展探讨。关键词:软件模式;软件领域;软件开发一.软件模式的作用20世纪90年代,软件模式这一概念被引用到软件工程中,这是软件工程诞生之后一次理论上的完美飞跃。所谓“模式”是指遵从某种规律反复出现的思维方式,而软件模式便是将这一概念应用到软件开发领域,以此来作为软件开发的指导思路。软件模式的核心思想在于对系统的模式进行再次运用。在信息技术飞速发展的当今社会,软件行业对于软件模式的运用也在逐渐深入。实践证明,软件模式的应用对软件开发有着很大的促进作用,这种作用主要表现为两个方面:1.软件模式是软件工程师在设计、管理和组织软件等实践中经验的提炼,是重复使用软件设计方法的有力工具。软件模式就好比拳击中的组合拳,它为软件工程师提供了大量软件开发的思维方法,如通过运用软件模式能使得复杂的系统变得简洁。2.软件模式不仅为人们在设计软件过程中提供了一套简洁的设计、组织和管理软件方面的词汇,它还为人们提供了一个描述抽象事物的规范标准。信息传达准确、及时与否与软件项目的成功有着紧密的联系,由此可见,在软件开发中交流是十分重要的,而软件模式的这种规范标准促进了软件开发过程中的交流,从而促进软件项目的成功。二.软件模式分类“模式”是在八十年代时期被KentBeck等人引用到软件开发领域中,目前,软件中已经有很多种类的模式,如设计模式、架构模式等。下面我就针对软件开发中的这些模式进行分析。1.设计模式设计模式描述普遍存在在相互通讯的组件中重复出现的结构中,设计模式是软件模式中最典型的一种模式,其主要解决的是对象设计中对象之间的关系。设计模式能够使人们更加简单、方便地复用成功的设计和体系结构,将已经证实的信息技术表述成设计模式还能使人们更加容易地理解技术的设计思路。一般情况下,设计模式主要是指1995年GOF提出的23种模式,他首次将设计模式提升到理论的高度。直至发展到今日,在可复用面向对象软件的发展进程中,虽然有很多新的设计模式在不断地出现,但是GOF提出的23种模式的理论依旧处于无法超越的地位。按大范围的模式种类,可将23种设计模式的分为以下几种:①创建型设计模式,如工厂方法模式(FactoryMethod)、建造模式(Builder)、原型模式(Prototype)等,这些模式在汽车制造业、快餐业和行政机构中都得到了充分的运用;②结构型设计模式,如装饰模式(Decorator)、桥梁模式(Bridge)等,这些模式在工具、零售业和银行业中都可以找到;③行为型模式,如模板方法模式(TemplateMethod)、命令模式(Command)、访问者模式(Visitor)等,这些模式在运用到了餐馆订餐、音乐和自动售货机中。近年来,设计模式受到了软件行业的青睐,其特征在于将模式合并分解再创造出新的模式,这样的变化能使得软件开发的国战2.架构模式架构模式是一个较为空泛的概念,本文所讲述的“架构模式”主要是指软件实现的框架,其描述的是软件开发过程中的总体纲要和基本架构,在软件程序开发过程中,架构模式就是指模块之间或子系统之间的职责关系,并给出将它们自制在一起的法制,称为系统模式。架构一般强调设计复用,如MVP、总线架构、元数据模式等整体或局部架构。架构模式常常被分为以下几种:①模块结构型(FromMudtoStructure)。这种架构模式能帮助架构师合理地划分系统,避免系统对象的混杂;②分散系统型(DistributedSystems)。这种模式主要是为分散式系统提供完整的结构设计,在软件开发中创设完整地构架;③人机互动型(InteractiveSystems)。这种架构模式支持包含有人机互动界面的架构设计,如MVC模式;④AdaptableSystems型。这种架构模式支持软件系统适应各种变化,如技术和软件功能需求的变化。3.代码模式代码模式是软件模式中最低层的模式,其和代码或软件开发语言有着紧密的联系,是实现某种具体功能的最佳方式。例如JAVA要想实现飘带文字的功能便可以利用代码模式,较为著名的代码模式案例有双检锁模式(Double-CheckLocking)等三.软件设计模式和架构模式的对比分析软件设计模式和架构模式是目前软件开发领域中最常用和最实用的两种模式,这两种模式都各具优势。就设计模式而言,其是一种侧重于系统动态行为特征分析的模式,注重对象的组合而不是复制,是在重组的基础上加以创新。以往的模式侧重于类继承,设计模式通过类的层次和数量使得设计更加简洁且具有较好的扩展性。另外,设计模式能有效地指导类继承的层次划分。类的层次划分对于面向对象设计是十分重要的,类的层次划分过多会使得软件程序变得笨重,而如果类的层次过少会使得设计的封装性变差,因此,类的层次划分必须要十分严谨。在类的层次划分上,设计模式从系统动态行为特征的角度,将类分层包装在合理分配各方法属性。而就架构模式而言,其是一个可以重复使用的小型体系结构,在一个指定的范围内为一组软件抽象产物提供能够通用的结构。一般情况下,架构不是一个完整的应用系统,它主要是规定应用系统的体系结构,并提供一系列规定的插口或配置点来供使用者生成其所需要的应用软件。软件设计模式和软件架构模式之间存在着一定的区别,这种区别主要体现三个方面:1.应用范围。就应用范围而言,软件设计模式的范围更加广泛。当今,软件设计模式被广泛运用到制造业、行政机构、金融业、餐饮业和建筑业等领域,几乎适用于任何应用类型。但架构模式一般会限制在某个指定的应用区域;②表达方面。架构可以通过代码来具体表达,但是设计模式则不能,只有设计模式实例才能转化为代码。在表达方面,架构模式的优势在于它能够用编程语言程序书写出来,可以运行直接重复使用。而软件设计模式在每次应用之前都需要将其实现,这样才能启动运用;③设计模式是一种比架构模式更小的结构型元素。一个架构必须包含若干个设计模式,因此设计模式是一种更小的结构型元素。软件设计模式和架构模式都各具优势,在软件开发时,软件工程师通过考虑到软件自身的需要来选择软件模式,这样才能设计出更实用的软件程序。四.总结21世纪是信息时代,随着信息技术的不断提升和运用范围的不断扩展,人们在软件开发实践过程中获取了很多宝贵的经验。软件模式是一种新的概念,是软件工程师在长期的工作中总结出来的一个经验,其能有效地将复杂程序简洁化,也为软件开发行为提供了一个较完善的规范标准。但是,由于软件模式是软件开发、设计经验中的提炼,因此完全理解和使用过软件模式还存在一点问题,如何在软件设计开发过程中运用“软件模式”这个缺乏系统化和理论化的指导思想是目前仍需要研究的问题。相信在以后的实践中,通过不断地深入了解和完善软件模式,一定能够有效地解决以上问题。参考文献:[1]彭鑫,赵文耘,夏宽理,沈铖;基于Java的软件再工程支持工具研究[J];计算机工程与应用;2003年18期[2]张堃;黄庄庄;从C/S遗留系统升级到Web环境的软件再工程[A];第九届全国青年通信学术会议论文集[C];2004年0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高新技术行业月度个人工作计划
- 五年级上册英语单词青岛版
- 邢台学院《物流运筹学》2023-2024学年第一学期期末试卷
- 邢台学院《工艺基础》2021-2022学年第一学期期末试卷
- 融资合同模板三篇
- 文化活动与展示策划计划
- 西京学院《C语言程序设计》2023-2024学年第一学期期末试卷
- 西华师范大学《量子力学》2022-2023学年第一学期期末试卷
- 快餐店的运营规划
- 2024年01月11054流通概论期末试题答案
- 数据安全事件的溯源与责任追究
- 中国文化-古今长安(双语)智慧树知到期末考试答案章节答案2024年西安欧亚学院
- 自然辩证法概论智慧树知到期末考试答案2024年
- 全国大学英语六级词汇表
- 苏教译林版五年级上学期英语第七单元Unit7《At weekends》测试卷(含答案解析)
- 水利综合项目跟踪审计专项方案
- FZT 74005-2016 针织瑜伽服行业标准
- JJG 4-2015钢卷尺行业标准
- 云计算技术的边缘计算技术
- 《交通事故应急预案》课件
- 武汉武昌区租房合同
评论
0/150
提交评论