技术架构都包括什么
发布网友
发布时间:2022-04-29 22:01
我来回答
共1个回答
热心网友
时间:2022-05-01 15:11
对于技术人员来说,“架构”是一个再常见不过的词了:我们会给新员工介绍整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现(例如,微信架构、淘宝架构)……虽然如此常见,但如果深究一下“架构”到底指什么,大部分人不一定能够准确地回答。例如:
Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪个架构呢?
微信有架构,微信的登录系统也有架构,微信的支付系统也有架构,当我们谈微信架构时,到底在谈什么架构?
要想准确地回答以上问题,关键在于梳理几个有关系而又相似的概念,包括系统、子系统、模块、组件、框架和架构。
1、软件模块(Mole)是一套一致且互相有紧密关联的软件组织,它包含程序和数据结构两部分。现代软件开发往往利用模块作为合成的单位。
模块的接口表达了由该模块提供的功能和调用它时所需的元素。
模块是可能分开被编写的单位,这使得它们可再用,并允许开发人员同时协作、编写及研究不同的模块。
2、软件框架(Software Framework)通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。
3、软件架构是指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。
单纯从定义的角度来看,框架和架构的区别还是比较明显的,框架关注的是“规范”,架构关注的是“结构”。框架的英文是Framework,架构的英文是Architecture。Spring MVC的英文文档标题就是“Web MVC Framework”。
系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”“整体”或“联盟”。