架构风格区别-架构案例(五十九)

管道-过滤器和仓库的区别?

  1. 独立的数据仓库,处理流独立,处理数据用连接仓库工具
  2. 数据与处理在一起,改动的话需要重启系统
  3. 需要仓库工具与仓库连接,数据与处理分离,性能差
  4. 可以支持并发连接访问仓库,提升性能

面向对象和基于规则区别?

  1. 规则是独立的,用户和规则动态组合
  2. 加入新的用户级别和折扣规则必需修改代码,并且重启系统
  3. 用户和规则在一起,不需要解释,性能较好

管道-过滤器 和 数据仓储的区别?

(1)通过仓储中间件来交互

  1. 流动数据结构流式数据
  2. 数据驱动
  3. 根据特定的仓储规则进行扩展

  1. 给出SOA架构四种基本功能?
  1. 负责各个服务之间数据格式的转换。
  2. 负责元数据和每个服务的注册。
  3. ESB服务总线把每个服务一起管理,方便交互,将不同系统通过api,web Service来进行连接
  4. 路由、发现、选择等能力。
  5. 以及服务请求的负载均衡。

  1. 分析软件架构评估所关注的质量属性有哪些,每个具体含义?评估的方法有哪些?具体实施如何?
  1. 性能:接口的响应时间,吞吐量,准确性,按规定时间内返回给用户。
  2. 可修改性:开发人员在规定时间内以较少的成本完成修改开发。
  3. 安全性:数据和系统是安全的,保证用户不会恶意访问到。
  4. 可用性:系统宕机在规定时间内启动备用系统,保证不会阻断用户流程

问卷调成:个人主观性太强。

基于度量:对项目的细节要求能力太强。

基于场景,分为软件架构权衡分析ATAM(Architecture Traceoff Analyze Method),成本分析CBAM,软件系统分析法CAAM。

实施?

先对大家做个ATAM介绍,

分为:场景和需求的收集、架构视图和场景的实现属性模型的构造和分析、评估和折中

  1. 微服务特点,写五条?
  1. 性能提升,针对功能来划分团队,将各个功能分别部署在单个服务器。
  2. 不在局限于编程语言,不同的微服务可以采用不同的语言实现,只需要按标准的协议沟通
  3. 按功能划分,可以采用更小的团队来维护
  4. 独立的服务组件,可复用更高
  5. 数据离散化管理,各个服务数据会出现不一致情况
  6. 基础设施,自动化管理

  1. 详细论述基于构件开发的方法主要过程?
  1. 修改构件
  2. 组装构件
  3. 评价构件
  4. 部署构件
  5. 获取构件

自底向上开发。

  1. 详细论述软件工程软件维护性因素主要有哪些?
  1. 可修改性维护,在规定时间内较少成本开发修改。
  2. 可理解性维护:用户和开发人员理解。
  3. 易完善性维护。
  4. 预防性维护:提出系统风险点,给出预防措施,减少风险

  1. 常用架构风格有哪些,特点?
  1. 面向对象:实体转换为代码里的对象,方便理解,适合较大项目的开发
  2. 隐式调用风格:可以将业务解耦,还可以异步提高接口性能。
  3. 层次架构风格:提高并行开发效率,解耦业务数据和业务逻辑,展示层没有逻辑处理,安全性也得到提升。
  4. 基于构件风格:提取公共的代码组成构件,方便调用,减少冗余代码量

  1. 安全架构哪些方法解决?
  1. sql注入。
  2. 用户登入信息鉴权。
  3. 用户密码加密MD5
  4. 系统的可用性容灾备份安全。
  5. 数据加密,摘要,数字签名。
  6. 日志记录,数据双份保险

  1. 层次架构四个层次的作用?
  1. 展示层:主要接受用户页面请求的入参,以及返回数据库数据给用户可视化。
  2. 中间逻辑处理层:中间层可以分为controller控制层和DomainService领域层和Service层,controller和展示层交互,接受入参,领域层处理主要业务逻辑,service主要与数据库访问层交互。
  3. 数据库访问层:解耦业务数据和业务逻辑,可以隐藏sql和数据库事务处理,减少开发人员学习成本。显式给开发人员调用方式使用,也可以自定义sql增加复杂sql的处理能力。
  4. 数据库层:主要负责业务数据的持久化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经验分享】如何构建openGauss开发编译提交一体化环境

前文 本文适合对openGauss源代码有好奇心的爱好者,那么一个友好的openGauss源代码环境应该是怎么样的。openGauss的开发环境是如何设置的?openGauss的编译环境是如何构建的?如何向openGauss提交代码,笔者集合官方和几位博主实践提…

2023年【危险化学品生产单位主要负责人】考试报名及危险化学品生产单位主要负责人模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位主要负责人考试报名考前必练!安全生产模拟考试一点通每个月更新危险化学品生产单位主要负责人模拟考试题题目及答案!多做几遍,其实通过危险化学品生产单位主要负…

用nodejs爬虫台湾痞客邦相册

情景:是这样的,我想保存一些喜欢的小伙伴的照片,一张张保存太慢了, 所以我写了个js,放在国外服务器爬,国内的自己解决~ 使用方法 1.点相册随便一张, 复制url, 这张开始接下来的图片都会保存 /*** 2023年10月23日 22:58:44* 支持解析痞客邦相册* 只需要复制相册第一张图片的ur…

新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP

新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP 一、简介 SV-2800VP系列模块是我司设计研发的一款用于井下的矿用IP音频传输模块,可用此模块打造一套低延迟、高效率、高灵活和多扩展的IP矿用广播对讲系统,亦可对传统煤…

Linux 下安装配置部署MySql8.0

一 . 准备工作 MySQL安装包:在官网下载需要的版本,这里我用的版本是 MySQL 8.0.34 https://dev.mysql.com/downloads/mysql/ 本次linux机器使用的是阿里云ECS实例 二 . 开始部署 1. 将安装包上传至服务器 解压到当前文件夹 tar -zxvf mysql-8.0.34…

SAP HANA Time Zone设置

通常对于MINICHECK中检查出来的Timezone时区设置问题,可以通过以下方式进行修改 对于ABAP系统 修改HANA 参数即可 • indexserver.ini -> [global] -> timezone_default_data_client_name 000 • indexserver.ini -> [global] -> timezone_default_da…

蓝桥杯每日一题2023.10.21

后缀表达式 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 30分解法&#xff1a;要求出最大的结果就需要加的数越大&#xff0c;减的数越小&#xff0c;以此为思路简单列举即可 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N 2e5 10…

微信小程序设计之主体文件app-json-pages

一、新建一个项目 首先&#xff0c;下载微信小程序开发工具&#xff0c;具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后&#xff0c;注册小程序账号&#xff0c;具体注册方法&#xff0c;可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

【2021集创赛】Digilent杯二等奖:基于FPGA的动态视觉感知融合的运动目标检测系统

杯赛题目&#xff1a;Diligent杯&#xff1a;基于FPGA开源软核的硬件加速智能平台 参赛组别&#xff1a;A组 设计任务&#xff1a; 利用业界主流软核处理器(仅限于Cortex-M系列及 RISC-V系列)在限定的DIGILENT官方FPGA平台上构建SoC片上系统&#xff0c;在 SoC中添加面向智能应…

Python数据挖掘 | 升级版自动查核酸

&#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初阶、C…

GoLong的学习之路(五)语法之数组

书接上回&#xff0c;上回书说到&#xff0c;循环语句&#xff0c;在go中循环语句的少了whlie这个关键词&#xff0c;但是与之for可以改这个改这个特点。并且在终止关键词中&#xff0c;又有标签可以方便&#xff0c;停止。这次说数组 文章目录 Array(数组)数组的初始化方法一方…

计算机网络_03_tcp/ip四层模型

文章目录 1.为什么会有tcp/ip?2.tcp/ip是什么?3.为什么会有tcp/ip四层模型?4.tcp/ip四层模型介绍 1.为什么会有tcp/ip? 早期的计算机(计算机网络没有出现之前)几乎都是各自为战, 各种操作系统厂家百花齐放, 市面上的大部分计算机使用的都是不同的操作系统, 为每个人提供定…

git简介和指令

git是一个开源的的分布式版本控制系统&#xff0c;用于高效的管理各种大小项目和文件 用途&#xff1a;防止代码丢失&#xff0c;做备份 项目的版本管理和控制&#xff0c;可以通过设置节点进行跳转 建立各自的开发环境分支&#xff0c;互不影响&#xff0c;方便合并 在多终端开…

【Javascrpt】比较,逻辑运算符

目录 比较运算符 逻辑运算符 &&(与&#xff09; ||&#xff08;或&#xff09; 两真&#xff08;||左侧为真&#xff0c;||右侧为真&#xff09; 两假&#xff08;||左侧为假&#xff0c;右侧为假&#xff09; 一真一假&#xff08;||一侧为假&#xff0c;另一侧为…

需要在 MySQL 服务器中监控的重要指标

MySQL是一个开源的关系数据库管理系统&#xff0c;它基于客户端-服务器模型运行&#xff0c;使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力&#xff0c;由于其广泛的功能&#xff0c;MySQL 被用作数据库管理系统的一部分。 什…

ubuntu20.04运用startup application开机自启动python程序

运用startup application开机自启动python程序。在终端中输入gnome-session-properties,如果显示没有则先进行安装&#xff0c;sudo apt-get update 和sudo apt install StartupApplications(根据显示提示安装)。在显示程序中搜索startup&#xff0c;打开应用程序。 在程序目录…

【React Router】React Router学习笔记

React Router学习笔记 React Router1.什么是React Router?2.为什么要用React Router?3.基础3.1 路由配置3.2 路由匹配原理3.3 History3.3.1 browerHistory3.3.2 hashHistory3.3.3 createMemoryHistory3.3.4 实现示例 3.4 默认路由(IndexRoute)与IndexLink3.4.1 IndexRoute3.4…

爬虫爬取数据时怎么配置代理IP来精准导航分析大数据?

在这个数字盛宴中&#xff0c;每一刹那都充满了无数的信息流转。就像瀑布中的水滴&#xff0c;每一滴都承载着可能性。爬虫代理IP与穿云API就像是这场盛宴中的精准导航仪&#xff0c;帮助我们捕捉那些最有价值的信息滴点&#xff0c;确保在这个时代的快速迭代中&#xff0c;我们…

【C++项目】高并发内存池第二讲中心缓存CentralCache框架+核心实现

CentralCache 1.框架介绍2.核心功能3.核心函数实现介绍3.1SpanSpanList介绍3.2CentralCache.h3.3CentralCache.cpp3.4TreadCache申请内存函数介绍3.5慢反馈算法 1.框架介绍 回顾一下ThreadCache的设计&#xff1a; 如图所示&#xff0c;ThreadCache设计是一个哈希桶结构&…

软件测开记录(四)

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…