基于架构层级的软件架构模式划分与研究.docx

基于架构层级的软件架构模式划分与研究.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于架构层级的软件架构模式划分与研究

?

?

李志华

摘要:现代社会信息化发展速度日益加快,为了满足不断提升的服务需求,涌现了多种软件架构模式。然而,软件架构模式之间存在着相互交叉的情况,造成了模式之间的关系含糊。该文定义了软件架构层级,通过架构层级的划分,梳理常见的软件架构模式之间的关系,并通过分析这些架构模式的产生动机,进一步解释层级划分,帮助软件开发人员更好地识别和选择软件架构模式。

关键词:架构模式;架构层级;分层架构;六边形架构;SOA;微服务;事件驱动架构;服务网格

:TP311???:A

:1009-3044(2021)23-0060-02

Abstract:Withtherapiddevelopmentofinformationtechnologyinmodernsociety,inordertomeettheincreasingdemandforservices,avarietyofsoftwarearchitecturepatternshaveemerged.However,thesoftwarearchitecturepatternsintersectwitheachother,resultingintheambiguousrelationshipbetweenthepatterns.Thispaperdefinesthesoftwarearchitecturelevel,clarifiestherelationshipbetweencommonsoftwarearchitecturepatternsthroughthedivisionofarchitecturelevel,andfurtherexplainsthehierarchybyanalyzingthemotivationofthesearchitecturepatterns,soastohelpsoftwaredevelopersbetteridentifyandselectsoftwarearchitecturepatterns.

Keywords:architecturepattern;architecturelevel;layeredarchitecture;hexagonalarchitecture;?SOA;microservice;eventdrivenarchitecture;servicemesh

1背景

軟件架构是软件开发的初始阶段就必须做的工作,并在软件开发和维护的生命周期中持续产生影响。随着软件的发展,产生了多种软件架构模式,常见的有:分层架构、六边形架构、SOA架构、微服务架构、事件驱动架构、服务网格等。软件架构模式是逐步发展形成的,其最终形式往往和其他架构模式有着一定的关系,导致一个软件会同时使用多种架构模式。若想将架构模式和软件开发完美结合,首先应该了解架构模式之间的关系,并对其有一个充分的认识。从软件架构层级的角度进行划分,可以帮助开发人员更好地了解软件架构模式之间的关系,更好地完成软件架构。

2软件架构层级

在架构金字塔[1]中,将架构分为了4级:系统级、应用级、模块级、代码级。

代码级的关注点在代码细节上,由于关注点的抽象程度较低,不适合划分为软件架构模式的层级。另外,不同层级受业务的影响程度也不同,引入了业务领域来辅助定义层级。最终,将软件架构层级分为了3级。

1)系统级:不同业务领域的应用在整个系统内的关系。

系统是最高的抽象层级,代表了能够提供价值的东西[2],这种价值,一般最终体现在业务上。因此,系统级的软件架构模式,是和业务领域相关的,与业务领域无关的架构模式属于更低的架构层级。不同业务领域一般对应了不同的组织,这是区分是否属于同一业务领域的重要标志。不同业务领域下的软件应用组合起来,形成了软件系统。

常见的系统级软件架构模式:SOA、服务网格。

2)应用级:同一业务领域下的不同应用之间的关系。

常见的应用级软件架构模式:微服务架构、事件驱动架构。

3)模块级:应用内部的模块关系。

常见的模块级软件架构模式:分层架构、六边形架构。

不同层级的架构模式之间,存在着互相交叉的关系;而同一层级的架构模式,存在互补的关系。

3软件架构模式

3.1分层架构

分层架构模式被认为是所有架构的始祖。在分解复杂的软件系统时,使用最多的技术就是分层,在计算机本身的架构中,到处都有分层的例子,不同的层从包含了操作系统调用的程序设计语言,到设备驱动程序和CPU指令集,再到芯片内部

文档评论(0)

135****7186 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档