在开始聊之前,我想定义一下架构的概念。大部分小伙伴都会问一个问题:
“前端能有啥架构,不就是文件放到哪个文件夹吗?
”
对,但也不对,所以我们需要对齐认知:
到底什么是架构?
在开始之前,我希望你将视野从前端这个点扩展开,站在你正在参与开发的整个系统来思考这个问题。
然后我们先来看看一个相对权威的对架构的定义是什么样的:
“Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
”
这是 IEEE1471 对于架构的一个定义,它来自于 IEEE标准协会 下辖的 IEEE计算机协会。
从这里的定义来看架构指的是“系统的基本组织”,体现为“组成这个系统的组件以及组件之间的关系”,同时还应该包含该系统“与环境的关系”,最后架构还应该“指导系统的设计和演变”。
好的,那么系统又是啥?
“