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