从0开始学架构-架构的定义

news2024/11/25 4:49:33

从0开始学架构-架构的定义

文章目录

  • 从0开始学架构-架构的定义
    • 系统与子系统
    • 模块与组件
    • 框架与架构
      • 软件框架(Software framework)
      • 软件架构
      • 区别
    • 重新定义架构:4R 架构
      • 软件架构重新定义

三组容易混淆的概念:

  1. 系统与子系统
  2. 模块与组件
  3. 框架与架构

系统与子系统

系统定义:

系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工 作的群体。它的意思是“总体”“整体”或“联盟”。

子系统的定义:
子系统也是由一群有关联的个体所组成的系统,多半会是更大系统中的一部分。

模块与组件

模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已

框架与架构

软件框架(Software framework)

通常指的是为了实现某个业界标准或完成特定基本任务
的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产
品。

软件架构

指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述

区别

框架关注的是“规范”,架构关注的是“结构”

重新定义架构:4R 架构

框架是一整套开发规范,架构是某一套开发规范下的具体落地方案,包括各个模块之间的组合关系以及它们协同起来完成功能的运作规则。

软件架构重新定义

软件架构指软件系统的顶层(Rank)结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)

在这里插入图片描述

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

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

相关文章

文档翻译器那么多,你知道文档翻译pdf哪个软件好吗?

曾经有一个年轻的学生,名叫小杰。他是一名热爱学习的人,对于跨文化交流和学习外语充满了好奇和热情。然而,他在阅读一些重要的学术论文和研究资料时,常常遇到一个令人头痛的问题:如何将外文的pdf文档准确地翻译成自己的…

小白必看!关于欧盟商标注册须知事项?

一、什么是欧盟商标? 答: 欧盟商标是指根据CTMR(欧共体商标条例)规定的条件获得OHIM(欧共体内部市场协调局)注册的,在欧盟范围内有效的,用来识别和区分商品或服务的标记。 二、欧盟…

【前端面试专栏】<script> 脚本以及 <link> 标签对 DOM 的影响

🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步…

解决方法:python: not found问题

一、问题 测试环境:Ubuntu22.04.1 在运行一些脚本文件的时候,报以下错误: ./build.sh: python: not found二、原因 python 可能被 python2 或者 python 3 代替了导致映射不到。 三、解决方法 查看所有的 python 映射 ls -l /usr/bin/py…

现代化个人博客系统 ModStartBlog v7.7.0 博客关键词优化,附件上传重构

现代化个人博客系统 ModStartBlog v7.7.0 博客关键词优化,附件上传重构 ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基…

【电路原理学习笔记】第2章:电压、电流和电阻:2.5 电阻

第2章:电压、电流和电阻 2.5 电阻 当固体导体中有电流时,自由电子在该材料中运动,有时会与原子发生碰撞。这些碰撞使电子失去一些能量,因此它们的运动会受到限制。碰撞越多,电子的流动就越受限制。这一限制因材料类型…

基于Java+Swing+mysql实现垃圾分类管理系统

基于JavaSwingmysql实现垃圾分类管理系统 一、系统介绍二、功能展示1.登陆2.社区管理3.设备管理4.垃圾管理 三、其它1.其他系统实现2.获取源码 一、系统介绍 该系统实现了 管理员:系统登陆、社区管理、设备管理、垃圾管理 小区负责人:查看垃圾分类信息、垃圾站信息…

【雕爷学编程】Arduino动手做(136)---0.91寸OLED液晶屏模块2

0.91寸OLED液晶屏显示模块参数 驱动芯片:SSD1306 支持接口:I2C 显示颜色:白色 高分辨率: 12832 可视角度:大于160 工作电压:3.3V / 5V 模块大小:36 x 12.5(mm) 项目之三&…

2022年4月自写json转table记录

表头属性 属性名描述类型默认值key 设置字段名。通常是表格数据列的唯一标识 string-label 设置列的标题。 string-width 设置列宽。若不填写,则自动分配;若填写,则支持值为:数字、百分比。如: width: 200 / width: 30…

mysql的两种安装方式(yum在线安装和通用二进制)

文章目录 msqly的安装一、yum在线安装二、通用二进制安装mysql msqly的安装 一、yum在线安装 yum是一种在线安装方式,通过官网网址在linux下载安装 首先是配置一个yum安装源 yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm也…

基于STM32单片机的智能家居烟雾温度火灾防盗报警的设计与实现

功能介绍 以STM32单片机作为主控系统;LCD1602液晶显示屏来显示显示测得的值;SR501人体红外感应是否有人进行防盗;通过烟雾传感器MQ-2获取前的烟雾值;通过DHT11温湿度传感器来获取当前的温湿度;所有的信息通过通过esp82…

几行代码教你轻松完成超大模型推理:LLaMA-30B+TITAN RTX*4+accelerate

是不是苦于没有ChatGPT的API key或者免费的token而无法愉快地和它玩耍?想不想在有限的计算资源上部署大模型并调戏大模型??想不想解锁大模型的除了对话之外的其它功能???几行代码教你搞定如何在有限的计算资…

Devops系列三(拉取私库的helm chart,将java应用发布部署至k8s的示例)

一、说在前面的话 本文是紧接上文,上面已准备好了helm chart,接下来就是在K8S的kubectl执行部署。 二、使用helm部署 1、在kubectl添加helm 私有repo [adminjenkins]$ helm repo list Error: no repositories to show[adminjenkins]$ helm repo add …

github Copilot使用及代理设置

使用前先保证自己能正常访问github.com,找个科学上网工具 找到系统的hosts文件做个配置,在https://www.ipaddress.com/ 中搜索github.com和api.github.com 140.82.112.4 github.com 140.82.113.6 api.github.com 我的搜索完是上面两个ip,加入…

港联证券|新动向!A股“定点”公告越来越多,大订单透露高景气

近年来,A股商场发布“定点”公告的上市公司越来越多,近三年尤为显着。 需求阐明的是,本文中此类“定点”公告包括定点(意向)书、定点通知(书)、定点信(函)等,…

Devops系列四(使用argocd部署java应用到k8s容器)

一、说在前面的话 上文已为我们准备好了以下内容: 制作java应用的docker镜像,并推送至镜像仓库上传helm yaml代码至gitlab仓库(此gitlab和java应用所在的gitlab可以独立,也可以在一起,但是不宜在同一个工程&#xff…

C#:AES的加密解密,用于明文加密

大白话理解&#xff1a;将明眼能看到的字符给用另一种读不懂的语言给翻译&#xff0c;就像是摩斯密码……就像base64加密&#xff0c;都有异曲同工之妙。 建一个新的类&#xff08;这里放了aes加密解密的方法&#xff09; public static class AesPassword{/// <summary&g…

解锁Nginx的奇幻世界:入门

文章目录 一 Nginx简介1.1 C10k问题1.2 Nginx 二 Nginx的作用2.1 反向代理2.2 方向代理演示2.3 负载均衡2.4 动静分离 三 Nginx的安装3.1 windows环境 一 Nginx简介 1.1 C10k问题 C10k问题指的是在一个服务器端同时处理成千上万&#xff08;10,000&#xff09;个并发连接的能力…

【论文精读】RA-MVSNet:Multi-View Stereo Representation Revisit: Region-Aware MVSNet

今天读的是一篇发表在CVPR2023上的文章&#xff0c;作者来自浙大与阿里巴巴。 文章链接&#xff1a;Multi-View Stereo Representation Revisit: Region-Aware MVSNet 目录 Abstract1 Introduction2 Related Work3 Method3.1 Cost Volume Construction3.2 Signed Distance Supe…

十一、弹性盒flex - 介绍

目录 1.flex介绍 2.详解 一、flex介绍 flex&#xff08;弹性盒&#xff0c;伸缩盒&#xff09; css中的又一种布局手段&#xff0c;它主要用来代替浮动来完成页面的布局。flex可以使元素具有弹性&#xff0c;让元素可以跟随页面的大小的改变而改变。 我们知道float&#xff1…