当前位置: 首页 > ds >正文

技术点对比

数据库

数据库程序在线访问与ORM访问的对比

数据库程序在线ORM访问
优点性能好性能差
可以处理复杂sql
缺点

性能:

复杂sql支持:

开发成本:

架构风格

管道-过滤器风格与数据仓库风格对比

管道-过滤器风格数据仓储风格备注
交互方式顺序结构或有限循环结构星状(工具之间通过中心节点交互)管道过滤器很明显是顺序结构,数据在管道种传递。而仓库风格是数据在中心位置,所有的处理均是中心节点与周边节点的交互
数据结构流式数据文件或模型管道过滤在过滤器之间传递数据流,仓库风格使用一个文件将数据保存起来,所有的操作围绕文件进行
控制结构数据驱动业务驱动仓库风格是业务驱动,而管道过滤器是数据驱动
扩展方法接口适配模型适配管道过滤器通过提供标准的接口与其他过滤器对接;而仓库要扩展功能,只需要功能与模型适配即可
性能劣势:需要数据格式转换,性能下降
优势:支持开发调用,性能提升
劣势:数据与处理分离,需要加载数据,性能下降
优势:数据处理组件之间无依赖关系,可并行调用,提高性能

构件控制共享数据:传统数据库

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

管道过滤器风格:

MVC架构包含视图(View)、控制器(Controller)、模型(Model)。

  1. 视图(View):呈现给用户并与用户进行交互的界面。视图是用户看到并与之交互的界面,它并不进行任何实际的业务处理,而是将用户的输入传递给控制器,并接受与用户相关的数据并显示。
  2. 控制器(Controller):是视图与模型的接口。控制器接受来自视图的用户输入,将其解释成系统能够理解的对象,并将其传递给模型以完成用户的需求。同时,它也识别来自模型的事件和模型的更新,并将其反映到适当的视图上。
  3. 模型(Model):是应用程序的主体部分。模型代表业务逻辑和数据逻辑,它处理来自视图和控制器的操作,并为视图提供数据。一方面,它接受来自视图的输入,并将其解释成模型能够理解的对象;另一方面,它处理来自模型的事件和模型的更新,并将其反映到适当的视图上。

UML

状态图与活动图的对比

状态图描述一个对象在生命周期种的动态行为,表现一个对象所经历的状态序列,触发状态流转的事件以及动作

活动图用于描述工作流程和并发行为,活动图可以看作特殊的状态图,活动图种一个活动结束立即进入下一个活动

区别:状态图描述行为的结果,活动图描述行为的动作,活动图能描述并发行为。

数据流图与系统流程图对比

数据流图展现系统的数据流,系统流程图展现系统的控制流

数据流展现全局的处理过程

质量

6种质量的定义

  1. 性能(Performance):指要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件个数。
  2. 可靠性(Reliability):在错误使用和错误情况下,系统维持软件系统结构和功能的能力。
  3. 可用性(Availability):是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
  4. 安全性(Security):是系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。具体表现为系统抵御非法入侵、信息安全性等方面,可分为机密性、完整性、不可否认性及可控性等特性。
  5. 可修改性(Modifiability):是指能够快速地以较高的性能价格比对系统进行变更的能力。通常通过考察这些变更的成本、实现的难度等方面来衡量。
  6. 易用性:是指用户在学习使用系统、为了达到某个目标而使用系统以及将系统用于其他任务时的难易程度。软件工具应具有友好的用户界面,使用户便于使用;工具应能采取有效方式向用户提供反馈信息,能自动提示用户的操作错误或提供正确的操作方式;工具应能定制,以适应特定用户的需求。

  1. 敏感点:敏感点指为了实现特定的质量属性,一个或多个构件所具有的特性
  2. 权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。
  3. 风险点:风险点指系统架构涉及中潜在的、存在问题的架构决策带来的隐患

http://www.xdnf.cn/news/8097.html

相关文章:

  • NSSCTF [watevrCTF 2019]Wat-sql
  • 跨境电商合规生存指南:构建三大防御体系穿越监管风暴
  • Python海龟绘图-藤蔓
  • 【笔记】PyCharm 中创建Poetry解释器
  • Datacom-hcia~Datacom-hcie学习笔记索引
  • 【2025.05】Anaconda新手安装+配置+环境创建教程
  • C++通过空间配置器实现简易String类
  • 学习路之uniapp--unipush2.0推送功能--使用
  • 什么是智能体?
  • 顺序表VS单链表
  • RuntimeError: Cannot find sufficient samples, consider increasing dataset size.
  • 【Tauri2】047——Image
  • gcc还会有自己的头文件呢?
  • CMake 跨平台构建系统详解
  • 友达15.6寸G156HAN02.3工业显示模组
  • 在Linux系统上备份另一个系统的做法
  • 数据库主从集群 + GTID 实现高可用
  • inlier_outlier
  • 视觉大模型学习总结
  • 通过 curl 精准定位问题
  • 从零开始的嵌入式学习day25
  • Java SSM与SpringBoot面试题全面解析:从基础到源码
  • 线性表数据结构-队列
  • 8:点云处理—常见的四种3D相机
  • 今日行情明日机会——20250521
  • 探索Puter:一个基于Web的轻量级“云操作系统”
  • Java基础 5.21
  • 重磅升级!Google Play商店改版上线
  • Web服务器
  • C++语言的跨平台挑战和应对策略