欢迎光临散文网 会员登陆 & 注册

软件架构

2022-04-22 17:56 作者:Tuple_元组  | 我要投稿

软件架构(软件架构风格、常见架构模式)

(1)软件架构风格:

数据流风格数据流风格的软件架构是一种最常见,结构最为简单的软件架构。这样的架构下,所有的数据按照流的形式在执行过程中前进,不存在结构的反复和重构,就像工厂中的汽车流水线一样,数据就像汽车零部件一样在流水线的各个节点上被加工,最终输出所需要的结果(一部完整的汽车)包括:批处理序列、管道/过滤器;

调用/返回风格:就是指在系统中采用了调用与返回机制。利用调用 - 返回实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为一些子系统,以便降低复杂度,并且增加可修改性。包括:主程序/子程序、数据抽象、面向对象(即对象间相互调用)、层次结构(分层处理,上层以下层为基础));

③ 独立构件风格:强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性。包括:进程通信、事件驱动;

④ 虚拟机风格:虚拟机风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。包括:解释器、基于规则的系统(即专家系统);

仓库风格:在仓库( repository )风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与外构件间的相互作用在系统中会有大的变化。包括:数据库系统、黑板系统、超文本系统。

(2)常见架构模式:

管道/过滤器模式,典型应用包括批处理系统。

面向对象模式,典型应用基于组件的软件开发。

事件驱动模式,并不是直接调用操作,典型应用包括各种图形界面应用。

进程通信模式:将不同的功能划分为独立进程,进程之间不直接通信,而是依靠消息传递如:点到点(Socket) 、 异步和同步方式及远过程调用(RPC)等。该设计的优点是相互之间解耦。

分层模式,典型应用是分层通信协议,如ISO/OSI的七层网络模型。

基于规则的专家系统:以规则表示知识的专家系统,即把人类的经验总结成一道道的指令输入给计算机,遇到什么样情况就怎么处理。包含五部分:知识库,数据库,推理引擎,解释工具和用户界面。

优点:a.自然知识的描述; b. 统一的结构(IF …THEN); c.知识与处理过程分离。

缺点:a. 规则间的关系不透明; b. 搜索策略的工作效率抵消,因为系统存在大量的穷举搜索;c.不能自学习,没有能力从经验中学习

客户/服务器模式,为了解决C/S客户端问题,形成B/S模式;为了解决C/S服务器端问题,形成了三层C/S模式。


软件架构的评论 (共 条)

分享到微博请遵守国家法律