一个思考
对架构的个人思考:我也谈架构
1)架构的抽象本质:
将它纳入我的思考体系之中,架构我将它定义为:模块及其之间联系的正确、平衡的构造。
既然是一个系统便可对其进行抽象。架构是需求分析与软件设计之间的桥梁。其外部的需求是塑造架构的外作用力,而其内部的各模块之间的相互作用将其视为内力。从系统的角度看,外力决定系统的整体构造,内力决定系统的内部结构。以运动的观点讲,模块间数据的运动形成内作用力,内部力决定系统的结构,结构决定系统的性质。从能量的观点讲,内部力的好坏决定系统是否稳定,熵量的高低,熵量高则系统易损坏,无序,模块组织不稳定。
2)从需求分析看软件架构
架构服务于需求而不是决定需求,对的架构并不一定是强大复杂的架构,适合于需求的架构才是真正该思考设计的。从需求出发,在各个维度对架构整体拉伸才是正解。
3)架构风格
从两层架构到三层到分布式再到微服务。不管是对模块的垂直划分还是水平划分,架构的发展历程便是需求的发展历程。从AlI in one到逻辑层次的分离再到原子服务间的相互集成和通迅,是由高并发和海量数据的驱动所致,也是由复杂度的增加所致。
但架构完全可以从需求中独立出来形成风格。分分合合之间,还是那个原则,集中则不灵活,分散则难以统一。
4)不重复造轮子?
构件的使用使我们做可插拔的架构设计,但它是否让人们走到了“套子”之中,基于构件的设计,框架的使用是否灵活,还要思考。
想点儿东西,别忘了,记下来。