【笔记】软件架构师要点记录(2)

news2024/11/15 10:52:17

【笔记】软件架构师要点记录

  • 20240523
    • 案例一
    • 案例二
    • 案例三
    • 案例四
    • 案例五
    • 案例六
    • 案例七
    • 案例十

20240523

基于前10个架构案例场景,对用到的专业术语进行整理,方便后续查看。

案例一

MVC架构风格+组件交互方式

  • MVC是一种用来构建用户界面时采用的架构设计风格,其中M是模型,V是视图,C是控制器。在该风格中,模型表示待展示的对象;视图表示模型的展示;控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。

案例二

EBS定义+五个主要功能

  • 企业服务总线(EBS)是传统中间件技术与XML、WEB服务等技术结合的产物,可基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。功能包括:服务位置透明性、传输协议转换、消息格式转换、消息路由、消息增强、安全性、监控与管理。

案例三

  • 在这里插入图片描述
  • 架构评估过程中,质量属性效果树是对系统质量属性进行识别和优先级排序的重要工具。质量属性效果树主要关注性能、可用性、安全性和可修改性等四个用户最为关注的质量属性。

案例四

灵活性+可扩展性分析 解释器、管道过滤器、隐式调用架构风格

  • 解释器:灵活性高,可扩展性强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户界面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要创建不同的角色,创建新角色的流程都很方便;
  • 管道过滤器:灵活性低,可扩展性弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化或者扩展功能,需要对过滤器进行修改调整,此时必须修改代码完成任务;
  • 隐式调用:灵活性一般,可扩展性一般,因为隐式调用是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作联动,以提升灵活度。

案例五

  • 在这里插入图片描述

案例六

  • 在这里插入图片描述

案例七

  • 系统架构风险:指架构设计中潜在的、存在问题的架构决策所带来的隐患;
  • 敏感点:指为了实现某种特定的质量属性,一个或多个系统组件所具体的特性;
  • 权衡点:指影响多个质量属性,并对多个质量来说是敏感点的系统属性。

案例十

  • 软件架构风格:指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

  • 解释器架构风格(典型示例:适应多种系统环境、对界面元素拖拽和代码填充方式完成业务流程编写和组织)的架构设计过程:1.对可视化编辑元素及其拖拽关系定义某种语言,并描述其语法与语义;2、编写解释器对该语言进行解释;3、生成对应的脚本语言程序。

  • 隐式调用架构风格(典型示例:通过间接方式进行调用,如触发)的架构设计过程:首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数;其次集成开发环境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个记录项。在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。

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

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

相关文章

SpringBoot中使用AOP实现日志记录功能

目录 一、SpringBoot框架介绍 二、什么是 AOP 三、日志记录的必要性 四、SpringBoot中如何使用AOP实现日志记录功能 一、SpringBoot框架介绍 SpringBoot是一个开源的Java开发框架,旨在简化基于Spring框架的应用程序的开发。它提供了一套开箱即用的工具&#xf…

企业知识库智能问答系统的实践

1、页面效果 PC端 2、页面效果 手机端 3、主要支持功能 新建会话 历史会话 2、智能问答 支持 文本分类和意图识别,支持基于大模型的对话理解,支持流式对话 3、支持手机端 语音识别 4、主要服务包括 向量库Milvus 向量计算和文本分类服务 …

吃透一道题day2:Java算法中的“如何找到给定字符串中的不同字符“

写在开头:很久没有开启有关算法的内容了,在正式开启开启今天这段算法之旅之前,跟大家谈一谈上周五歌手也就是第二期我的一些直观感受:相比第一期(chante moore的if i aint got you和faouzia的crazy带给我的经验)没有任何特别的惊艳之处,很平淡甚至可以说是心如止水,…

使用docker+jenkins构建前端项目发布到nginx

1.准备环境 为了方便公司开发优化代码,不需要反复地将项目包发送给运维部署,我们对开发环境的前端项目利用jenkinsCI/CD进行自动化部署 需要两台服务器 一台jenkins 一台发布服务器,这里发布服务器 我直接使用开发环境的服务器 将admin界面与云计算展示…

优化电源设计:反激二极管选择与注意事项

反激二极管也被称为续流二极管、缓冲二极管、抑制二极管、钳位二极管或换向二极管,是一种电子元件,通常应用在开关电源和其他涉及电感性负载的电路中。它的主要功能是保护电路,防止感性负载在开关断开时产生的反激电压(或反电动势…

Paddle 傅里叶变换基础及领域应用

Paddle 傅里叶变换基础及领域应用 1. 傅里叶变换基础 1.1 傅里叶变换简介 傅里叶变换是一种重要的信号处理技术,它可以将一个信号从时域转换到频域。在频域中,信号的频率特性更加明显,有利于分析和处理。傅里叶变换的基本思想是将一个信号…

P6【知识点】【数据结构】【树tree】C++版

树是由一个集合以及在该集合上定义的一种关系构成的,集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构,在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点。 二叉…

接口测试怎么测?为什么要做接口测试?

一、前言 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间及内部各个子系统之间的交互点。测试的重点是检查数据的交换、传递和控制管理过程,以及系统间的逻辑依赖关系等。 简单地说,接口测试就是通过URL向服务器或者…

【强训笔记】day25

NO.1 思路&#xff1a;哈希质数判断。 代码实现&#xff1a; #include <iostream> #include<string> #include<cmath> using namespace std;bool isprime(int n) {if(n<2) return false;for(int i2;i<sqrt(n);i){if(n%i0) return false;}return true…

AppInventor2要在界面上做一个电量图标,有什么好的思路吗?

问&#xff1a;要在界面上做一个电量图标&#xff0c;有什么好的思路吗&#xff1f; 答&#xff1a;首先&#xff0c;很容易想到使用进度条相关的组件&#xff0c;原生”滑动条“组件可以吗&#xff1f; 答案显而易见&#xff0c;首先它的样式自定义不够&#xff0c;UI不外乎上…

cPanel中如何为数据库添加用户权限

本周有一个客户&#xff0c;购买Hostease的主机&#xff0c;询问我们的在线客服&#xff0c;他的网站安装后再还是无法访问。 客户购买的是Linux虚拟主机&#xff0c;带cPanel面板的。网站访问有如下数据库连接错误: 随后检查发现客户创建的数据库没有添加数据库用户权限。 下面…

企业文件加密软件推荐:迅软DSE加密软件你用了吗?

一、挑选企业文件加密软件需考虑的因素&#xff1f; 1、安全性&#xff1a;软件应采用业界认可的强加密算法&#xff0c;以确保数据的安全性。 迅软特有的256位高强度加密算法&#xff0c;从根本上阻止一切破解的可能性。 2、易用性&#xff1a;软件应该易于部署和管理&…

二进制部署k8s集群 部署高可用master节点

目录 本次部署的环境 一、master02 节点部署 二、负载均衡部署 安装nginx服务 部署keepalive服务 修改node节点上的配置文件 在master节点上创建pod 三、部署 Dashboard 二进制部署k8s集群部署的步骤总结 &#xff08;1&#xff09;k8s的数据存储中中心的搭建 etcd &…

K8S认证|CKA题库+答案| 2. 查看Pod CPU资源使用量

2、查看集群中运行Pod CPU资源使用量 您必须在以下Cluster/Node上完成此考题&#xff1a; Cluster Master node Worker node k8s …

java集合类详解

目录 1、数组导入&#xff1a; 2、单列集合 List接口 1、ArrayList&#xff1a;数组列表 ArrayList类中的方法 2、LinkedList&#xff1a;链表列表 3、Vector&#xff1a;数组列表 4、list集合的遍历 1、for循环遍历 2、增强for循环 3、迭代器遍历 Set接口 1、Has…

word-形状绘制、smartart、visio

一、人员架构图绘制 小技巧&#xff1a; 1、ctrlshift水平复制 2、点击图形&#xff0c;右键设置为默认形状 3、插入-形状-右键-锁定绘图模式&#xff0c;按esc退出状态 4、插入-形状-新建绘图画布&#xff0c;代替组合问题 画布中存在锚点&#xff0c;便于直线连接 二、s…

LP-MSPM03507学习资料汇总

&#xff08;因对MSPM0研究不够深入&#xff0c;故暂不开启浏览权限&#xff0c;权当记录学习。但愿尽快掌握供大家免费阅读。有意者可私信我共同学习&#xff09; 一、延时函数 1、滴答定时器SYSTICK 1.1 SysConfig配置 配置1ms延时函数&#xff0c;并开启中断 1.2 编写延时…

Day21:Leetcode513.找树左下角的值 +112. 路径总和 113.路径总和ii + 106.从中序与后序遍历序列构造二叉树

LeetCode&#xff1a;513.找树左下角的值 解决方案&#xff1a; 1.思路 在遍历一个节点时&#xff0c;需要先把它的非空右子节点放入队列&#xff0c;然后再把它的非空左子节点放入队列&#xff0c;这样才能保证从右到左遍历每一层的节点。广度优先搜索所遍历的最后一个节点…

php基础笔记

开端&#xff1a; PHP 脚本可以放在文本的任意位置 PHP 脚本以 开始&#xff0c;以 ?>** 结束&#xff1a; PHP 文件的默认文件扩展名是 ".php" 标签替换 <? echo 123;?> //short_open_tagson 默认开启 <?(表达式)?> 等价于 <?php echo …

Servlet 的 API

HttpServlet init&#xff1a;当 tomcat 收到了 /hello 这样的路径是请求后就会调用 HelloServlet&#xff0c;于是就需要对 HelloServlet 进行实例化&#xff08;只实例一次&#xff0c;后续再有请求也不实例了&#xff09;。 destory&#xff1a;如果是通过 smart tomcat 的停…