写点什么

架构学习笔记 1:什么是架构设计?

作者:中华老朱
  • 2022-12-08
    广东
  • 本文字数:1278 字

    阅读完需:约 4 分钟

架构学习笔记1:什么是架构设计?

在理解架构设计之前,我们要先理解和架构设计相关的一些名词,理解这些概念能让我们更清晰的理清系统的架构,更好的理解什么是架构设计。


一:系统和子系统

  1. 系统是由相互关联的个体组成,个体之间按照一定的规则运行,完成单独个体无法完成的功能,各个个体协同运行的能力超过了个体的能力之和。(参考维基百科)


  1. 子系统也是相互关联个体组成,但他是更大系统的组成部份。(参考维基百科)

总结:系统和子系统中的关联个体是指划分粒度在同一级别的同个系统中的个体。由系统和子系统的定义得出了以下五个关键词:个体,关联,规则,能力,分层

个体:是组成系统的独立的个体

关联:是指个体之间的联系

规则:是指个体之间协同运行的规则

能力:是指系统的能力,系统能力大过个体能力的总和。

分层:是指系统可以由多个子系统组成,子系统里面又可以分为更细的系统,所以是由上到下,逐层细化。



二:模块和组件

  1. 模块是按逻辑拆分出来的各个系统的组成部分,模块是包括程序和数据结果,提供功能和调用他需要用到的元素。拆分模块是为了能分开模块开发,协同开发,用来做职责分离。比如学生管理模块,课程管理模块等。(参考维基百科)


  1. 组件是按物理逻辑拆分的,是可包含的,可编程的,可重用的与语言无关的软件单元,也可以理解成系统中的某个零件,零件可以替换,用在多个地方。比如 nginx,web 服务器,mysql 等。(参考维基百科)


总结:模块常用来指系统中的功能模块,而组件则侧重指支持系统运行所需要的软件或硬件设备。



三:框架和架构

  1. 框架就是指为了实现某个业界标准和完成特定基本任务的软件组件规范,也可以指实现了某个软件组件规范的软件产品。(参考维基百科)


  1. 架构指软件系统的基础结构,创造这个基础结构的规则,以及对这些结构的描述。(参考维基百科)


总结:框架可以理解成是用来帮助我们高效研发,减少我们基础工作的软件产品。架构可以理解成实现整个系统的结构,这里的结构有包含部署结构,业务结构,应用结构,模块结构等


四:关于架构的另一层定义

架构是指系统的顶层结构,它定义了系统由哪些角色组成,角色之间的关系是怎么样的,以及角色之间运行的规则。从这个定义中我们得出主要有四个原则:顶层结构(RANK),角色(ROLE),关系(RELATION),规则(RULE),简称 4R 架构。

顶层结构(Rank):说明架构是自顶向下,逐层细化。

角色(Role):说明架构是由包含哪些角色组成

关系(Relation):说明架构中的角色之间的关系

规则(Role):说明架构中各个角色协同运行的规则



五:4R 架构的应用

  1. 从 4R 架构知道了架构师的职能,主要包含以下 4 个方面:确定架构的分层,拆分架构的角色,定义角色的关系,设计角色的运行规则。

  2. 从 4R 架构得出了架构文档的包含的内容,主要包含以下 4 个方面:指明层级,描述角色,定义关系,说明规则。

  3. 从 4R 架构得出了学习开源系统架构的方法,主要包含以下 4 个方面:了解开源系统由上向下的分层,了解系统的组成角色,了解角色之间的关系,了解系统的运行规则


一名合格的架构师必须清晰的了解各个概念,以及他们的联系和区别,这样才能认识他们的彼此边界,更好区分他们。同时在以后的学习中,也要更好的利用 4R 架构指导我们的工作。

发布于: 刚刚阅读数: 3
用户头像

中华老朱

关注

还未添加个人签名 2018-04-26 加入

还未添加个人简介

评论

发布
暂无评论
架构学习笔记1:什么是架构设计?_架构训练营10期_中华老朱_InfoQ写作社区