软件架构风格_2.调用/返回体系结构风格

调用/返回风格是指在系统中采用了调用与返回机制。利用调用-返回实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为若干子系统,以便降低复杂度,并且增加可修改性。程序从其执行起点开始执行该构件的代码,程序执行结束,将控制返回给程序调用构件。调用/返回体系结构风格主要包括主程序/子程序风格、面向对象风格、层次型风格以及客户端/服务器风格。

1.主程序/子程序风格

主程序/子程序风格一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。子程序通常可合成为模块。过程调用作为交互机制,即充当连接件。调用关系具有层次性,其语义逻辑表现为子程序的正确性取决于它调用的子程序的正确性。

2.面向对象体系结构风格

抽象数据类型概念对软件系统有着重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的构件是对象,或者说是抽象数据类型的实例(见图1)。

图1 面向对象体系结构风格

3.层次型体系结构风格

层次系统(见图2)组成一个层次结构,每一层为上层提供服务,并作为下层的客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。这样的系统中构件在层上实现了虚拟机。连接件由通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,这同样为软件重用提供了强大的支持。

图2 层次型体系结构风格

4.客户端/服务器体系结构风格

C/S(客户端/服务器)软件体系结构(见图3)是基于资源不对等,且为实现共享而提出的,在20世纪90年代逐渐成熟起来。两层C/S体系结构有3个主要组成部分:数据库服务器、客户应用程序和网络。服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务,称为**"胖客户机,瘦服务器"**。

图3 C/S体系结构风格

与两层C/S结构相比,三层C/S结构(见图4)增加了一个应用服务器。整个应用逻辑驻留在应用服务器上,只有表示层存在于客户机上,故称为"瘦客户机"。应用功能分为表示层、功能层和数据层三层。表示层是应用的用户接口部分,通常使用图形用户界面;功能层是应用的主体,实现具体的业务处理逻辑;数据层是数据库管理系统。以上三层逻辑上独立。

图4 三层C/S体系结构风格

相关推荐
这个DBA有点耶1 小时前
银行核心系统数据库迁移怎么选?6 步法+5 个避坑指南
数据库·安全·架构
caoerzhong2 小时前
JeeWMS 开源仓库管理系统多租户架构解析:一套 Java WMS 如何同时服务多个货主与多个仓库
java·架构·开源·vue
聚搜云——JuSouClouD2 小时前
阿里云代理商能帮忙设计架构方案吗?有哪些增值服务
阿里云·架构·云计算
白远山3 小时前
智慧场馆解决方案软件开发实战:从架构设计到落地部署指南
java·开发语言·架构·需求分析
m0_587383003 小时前
折扣卡CPS软件开发实战:从系统架构设计到上线指南
java·小程序·架构·需求分析
Dawson Zhu4 小时前
基于 OKF 知识图谱的 Text2SQL 领域知识注入实践——半导体晶圆厂数据资产知识库 MVP 剖析
人工智能·语言模型·架构·aigc·agi
晚安日记wanna4 小时前
批量请求失败只弹一个 Toast面试官想听五层
前端·面试·架构
大模型码小白4 小时前
告别造假数据,直接连数据库查真实时序数据喂给 TimechoAI 大模型
java·数据库·人工智能·microsoft·架构
晚安日记wanna4 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
晚安日记wanna4 小时前
MySQL 主从延迟别只答并行复制
数据库·面试·架构