架构是什么?架构的目标是什么?如果解决这2个问题,可能我能更好的梳理杂乱的架构理论。经过2天的思考,总算有了一点眉目。我们从一个产品的本质来说,追本朔源,自上而下:
大概就是这样的,当然架构不止需要解决这些问题,本产品只是其中一个部分,要支撑一个web产品还需要依赖很多的外部公共系统,对这些系统整合也算作架构的范畴。
架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计,这是官方的定义。
在“软件构架简介”中,David Garlan 和 Mary Shaw 认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。”
但构架不仅是结构。IEEE Working Group on Architecture 把其定义为“系统在其环境中的最高层概念”。构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
大家自己想想自己心目中的架构定义吧,我好像触摸到他,但是还没有完全的感悟,这几天我需要再深入的思考一下。
时间: 2024-11-05 18:44:38