APP下载

基于模式设计软件架构的研究

2021-09-10魏强

红豆教育 2021年11期
关键词:软件设计

魏强

【摘要】模式(Pattern)的定义最开始由建筑之神Christopher Alexander于二十世纪七十年代明确提出,运用于工程建筑行业,八十年代中后期由WardCunningham和 Kent Beck将其观念引进到手机软件行业。伴随着软件开发的深层次、各种各样技术性的与时俱进,软件系统的经营规模越来越大、特性愈来愈繁杂,涉及到的技术性也愈来愈多,从而引起了软件开发工作中的重心点由原先重视编码的撰写逐渐转为开发设计早期的系统架构设计方案上。软件开发技术性的发展趋势规定大家务必提升设计方案和点评大中型的、繁杂的软件系统的工作能力。

【关键词】模式设计;软件架构;软件设计;架构模式

1软件架构产生的背景

模式是表明周境、动因﹑解决方法三个层面关联的一个标准,每一个模式叙述了一个在某类周境下持续反复产生的难题,及其该难题解决方法的关键所属,模式既是一个事物( thing)又是一个全过程(process),不但叙述该事物自身,并且明确提出了根据如何的全过程来造成该事物。在不一样的层面上,模式给予不一样层面的具体指导。依据解决难题的粒度分布不一样,从高到低,模式分成3个层级:构架模式(ArchitecturalPattern)、设计方案模式(Design Pattern)、完成模式(Implementation Pattern)。这三者中间的差别取决于他们存有于分别的抽象层次和实际层级上。构架模式是一个系统软件的高端对策,牵涉到超大尺度的部件及其总体特性和结构力学。设计方案模式是中等水平限度的构造对策。这种中等水平限度的构造完成了一些超大尺度组件的个人行为和他们中间的关联。模式的优劣不容易危害到系统软件的空间布局和整体架构。设计方案模式定义出分系统或组件的外部经济结构。编码模式(或成例)是特殊的案例和与特殊语言表达相关的程序编写方法。编码模式的优劣会危害到一个中等水平限度组件的內部、外界的结构或个人行为的最底层关键点,但不容易危害到一个构件或分系统的中等水平限度的结构,更不容易危害到系统软件的空间布局和超大尺度架构。

2构建软件架构中模式的作用

系统架构的搭建一直是软件开发全过程中的一项关键工作中,与此同时也是一项很艰难的工作中,就算针对很有工作经验的系统架构师也是这般。幸运的是,模式及其模式语言表达的明确提出得出了一条搭建系统架构的重要途径。

全部结构优良的面向对象编程软件系统构架上都包括了很多模式。事实上,当评定一个面向对象编程系统软件的品质时,所应用的方式之一就是要判断系统的设计者是否强调了对象之间的公共协同关系。

3软件设计模式和架构模式的对比分析

软件設计模式和架构模式是目前软件开发领域中最常用和最实用的两种模式,这两种模式都各具优势。就设计模式而言,其是一种侧重于系统动态行为特征分析的模式,注重对象的组合而不是复制,是在重组的基础上加以创新。以往的模式侧重于类继承,设计模式通过类的层次和数量使得设计更加简洁且具有较好的扩展性。另外,设计模式能有效地指导类继承的层次划分。类的层次划分对于面向对象设计是十分重要的,类的层次划分过多会使得软件程序变得笨重,而如果类的层次过少会使得设计的封装性变差,因此,类的层次划分必须要十分严谨。在类的层次划分上,设计模式从系统动态行为特征的角度,将类分层包装在合理分配各方法属性。而就架构模式而言,其是一个可以重复使用的小型体系结构,在一个指定的范围内为一组软件抽象产物提供能够通用的结构。一般情况下,架构不是一个完整的应用系统,它主要是规定应用系统的体系结构,并提供一系列规定的插口或配置点来供使用者生成其所需要的应用软件。

软件设计模式和软件架构模式之间存在着一定的区别,这种区别主要体现三个方面:1.应用范围。就应用范围而言,软件设计模式的范围更加广泛。当今,软件设计模式被广泛运用到制造业、行政机构、金融业、餐饮业和建筑业等领域,几乎适用于任何应用类型。但架构模式一般会限制在某个指定的应用区域;2.表达方面。架构可以通过代码来具体表达,但是设计模式则不能,只有设计模式实例才能转化为代码。在表达方面,架构模式的优势在于它能够用编程语言程序书写出来,可以运行直接重复使用。而软件设计模式在每次应用之前都需要将其实现,这样才能启动运用;3.设计模式是一种比架构模式更小的结构型元素。一个架构必须包含若干个设计模式,因此设计模式是一种更小的结构型元素。

软件设计模式和架构模式都各具优势,在软件开发时,软件工程师通过考虑到软件自身的需要来选择软件模式,这样才能设计出更实用的软件程序。

参考文献:

[1]陈世平,饶凯华,赵磊,李涛,李园.企业关键绩效系统的软件架构设计与实现[J].微计算机信息,2009,25(15):25-27.

[2]曹敢,王莉莉.基于目标和模式的软件体系结构设计[J].江苏科技大学学报(自然科学版),2007(S1):53-57+69.

[3]杨秀杰,段立娜.基于模式设计软件架构的研究[J].科技信息(科学教研),2007(32):75.

[4]夏光明.浅谈软件开发过程中的体系结构设计[J].岳阳职业技术学院学报,2007(01):76-78.

[5]戎左峻,戎凯伦.论工程设计软件的最佳架构模式[J].工程设计CAD及自动化,1997(06):15-17.

[6]戎左峻,戎凯伦.论工程设计软件的最佳架构模式[J].给水排水,1997(12):39-41+4.

猜你喜欢

软件设计
CAN总线通信技术在电梯监控系统中的应用
基于单片机SPCE061A的字幕机点阵式字母电子显示屏的设计制作
电力参数监测系统研究
基于STM8S903K3的序列打螺丝夹具的软件设计
一种VHDL语言代码重用的方法
系统工程方法在计算机软件设计中的应用分析
基于Java语言的手机软件开发技术分析
计算机软件可维护性路径研究
智能温室控制系统的研究与开发