软件体系结构风格

2024-05-13 07:20
文章标签 风格 软件体系结构

本文主要是介绍软件体系结构风格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、定义

二、.经典软件体系结构风格:

1.管道和过滤器

 2.数据抽象和面向对象系统

3.基于事件系统(隐式调用)

4.分层系统

5.仓库

6.C2风格

7.C/S

8.三层C/S

9.B/S

题:


一、定义

软件体系机构风格是描述某一特定应用领域中系统组织方式的惯用模式

二、.经典软件体系结构风格:

1.管道和过滤器

过滤必须独立的实体,它不能与其他的过滤器共享数据,而其他过滤器不知道它的上游和下游的标识

正确性不依赖于过滤器进行增量计算过程顺序

优点:

  1. 良好的隐蔽性和高内聚,低耦合的特点
  2. 允许设计师将整个系统的输入/输出行为看成多个过滤器的简单合并
  3. 支持重用
  4. 系统维护和增强系统性能简单
  5. 允许对一些如吞吐量,死锁等属性分析
  6. 支持并行

缺点:

  1. 导致进程成为批量处理结构
  2. 不适合处理交互的应用

应用:

传统的编译器

 2.数据抽象和面向对象系统

这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它的相应操作封装在一个抽象数据类型或对象中。对象被称为构件,负责保持资源的完整性,通过函数和过程的调用来交互。

优点:

  1. 应为对象对其他隐藏它的标识,所以可以改变一个对象的标识,而不影响其他
  2. 将一些数据存取操作的问题分解成一些交互的代理程序集合

缺点:

  1. 改变一个对象就要改变多个调用的对象

3.基于事件系统(隐式调用)

思想:构件不直接调用一个过程,而是触发或广播一个或多个事件

隐式调用:一个事件的触发就导致了另一个模块中的过程的调用。

风格:事件的触发者不知道那些构件会被调用

应用:调试

优点:

  1. 为软件重用提供了强大的支持
  2. 为改进系统带来了方便

缺点:

  1. 数据交互问题
  2. 构件放弃了对系统计算的控制

4.分层系统

连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束,基于可增加抽象层的设计

应用:分层通信协议

优点:

  1. 可把一个复杂的程序按递增的步骤进行分解
  2. 支持功能增强
  3. 支持可重用

缺点:

  1. 很难找到一个合适的,正确的层次抽象方法
  2. 不容易划分

5.仓库

中央数据结构说明当前状态,独立构件在中央数据存储上执行

黑板:中央数据结构的当前状态触发进程执行的选择

应用:信号处理领域、如语言和模式识别,松耦合代理数据共享存取

组成:知识源、黑板数据结构、控制

6.C2风格

通过连接件绑定在一起的,按照一组规则运作的并行构件网络。

特点:

  1. 可以将任意复杂的功能封装在一起
  2. 连接件之间异步消息交换机制来实现
  3. 构件相对独立,构件之间依赖性较少

7.C/S

基于资源不对等,有三个主要的部分:数据库管理,客户应用程序和网络

保证了系统的并发性,使网络上传输的数据量减少到最少,从而改善系统的性能

优点:

  1. 适应性和灵活性
  2. 功能充分隔离

缺点:

  1. 成本高
  2. 客户端程序设计复杂
  3. 信息内容单一
  4. 用户界面风格不一
  5. 移植困难
  6. 维护和升级困难
  7. 新技术不易开发

8.三层C/S

 具有强大的书操作和事物处理能力,模型思想简单易于人们理解和接受

三层:

表示层:用户接口部分,他担负着用户与应用间的对话功能

功能层:将具体的业务处理逻辑编入程序,确认用户对应和数据库存取权限的功能以及记录系统处理日志功能

数据层:数据库管理系统,负责管理对数据库的读写

应用:某石油管理局劳动管理

优点:

  1. 提高系统和软件的可维护性和可扩展性
  2. 良好的可升级性和开放性
  3. 并行开发
  4. 隔离表示层和数据层

9.B/S

 浏览器/web服务器/数据库服务器,提供了异种机,异种网,等开放性基础

题:

异构:

内外有别:企业内部用户通过局域网直接访问数据库服务器,采用c/s,外部用户通过B/S

优点:外部不可直接访问数据库服务器能保证相对安全,内部用户交互性强

缺点:外服务维护困难

查改有别:凡是须执行维护和修改数据操作均使用C/S,查询和浏览用B/S

最后一篇软件体系结构复习文章,祝大家都不挂科!!!

附上我的保护神

这篇关于软件体系结构风格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985040

相关文章

在 Qt Creator 中,输入 /** 并按下Enter可以自动生成 Doxygen 风格的注释

在 Qt Creator 中,当你输入 /** 时,确实会自动补全标准的 Doxygen 风格注释。这是因为 Qt Creator 支持 Doxygen 以及类似的文档注释风格,并且提供了代码自动补全功能。 以下是如何在 Qt Creator 中使用和显示这些注释标记的步骤: 1. 自动补全 Doxygen 风格注释 在 Qt Creator 中,你可以这样操作: 在你的代码中,将光标放在

一个图形引擎的画面风格是由那些因素(技术)决定的?

可能很多人第一直覺會認為shader決定了視覺風格,但我認為可以從多個方面去考慮。 1. 幾何模型 一個畫面由多個成分組成,最基本的應該是其結構,在圖形學中通常稱為幾何模型。 一些引擎,如Quake/UE,有比較強的Brush建模功能(或應稱作CSG),製作建築比較方便。而CE則有較強的大型地表、植被、水體等功能,做室外自然環境十分出色。而另一些遊戲類型專用的引擎,例

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

Midjourney 随机风格 (Style Random),开启奇幻视觉之旅

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话:       Midjourney 最近推出了 "Style Random"(随机风格),这项功能可以让我们使用独特的随机 sref 代码创建图像,从而每次都能获得不同的美感。通过对这些功能的探索和尝试,我发现了一些很棒的风格,我很高兴能与大家分享,这样可以节省大家的时间,不用自己动手测试。在本文中,我将展示十个M

基于人工智能的图像风格迁移系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像风格迁移是一种计算机视觉技术,它可以将一种图像的风格(如梵高的绘画风格)迁移到另一幅图像上,从而生成一幅具有特定艺术风格的图像。基于深度学习的图像风格迁移技术已经广泛应用于艺术创作、图像处理等领域。本文将介绍如何构建一个基于人工智能的图像风格迁移

前端 Vue3 项目开发—— ESLint prettier 配置代码风格

ESLint & prettier 介绍 如果你用的是 pnpm create vue 来创建项目,那么创建项目时就会让你选择是否添加 ESLint 和 prettier 我们在上一篇博客中详细介绍过 ESLint,可以说上一篇博客是这篇博客的先修知识,所以各位小伙伴们请先去看看我的上一篇博客,博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客 如果说 ESLint

软件架构风格: C2体系风格

通俗示例 想象一下你正在使用一套乐高积木来搭建一个复杂的模型。每块乐高积木都是一个独立的部件,而乐高积木之间的接口设计得非常标准化,使得你可以轻松地将不同的积木组合在一起。如果你想要更换掉模型中的某一块积木,你只需要把它拔下来,然后插入新的积木即可,不需要重新设计整个模型。 通俗解释 C2体系风格 C2是一种软件体系结构风格,它强调组件之间的松耦合和高内聚。在C2风格中,软件系统被设计为一

Win10 - 使用‘Alt+Tab’不能切换窗口及更改切换风格

方案     1、点击开始菜单,选择运行,输入 regedit ,点击确定     2、定位到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer 中     3、在右侧找到 AltTabSettings 的键值对,没有则新建,类型为 DWORD(32位)值 ,然后赋值为 0 即可

梵蒂冈的风格的风格

反对过分地方个地方广泛的广泛的过

pytorch+深度学习实现图像的神经风格迁移

本文的完整代码和部署教程已上传至本人的GitHub仓库,欢迎各位朋友批评指正! 1.各代码文件详解 1.1 train.py train.py 文件负责训练神经风格迁移模型。 加载内容和风格图片:使用 utils.load_image 函数加载并预处理内容和风格图片。初始化生成图像:将内容图像加上随机噪声作为初始生成图像。加载模型:实例化并加载神经风格迁移模型。设置优化器和损失函数: