1.架构的定义

架构是什么?不同的人有不同的定义。

架构的本质是要素结构。所谓的要素指的是架构中包含的主要元素,结构就是这些元素之间的关系。

例如组织架构中的主要元素是人,结构就是人与人之间的关系。所以组织架构描述的是有哪些人、每个人的职责划分以及人与人之间的协作关系。

同样对于应用架构而言,代码是其核心组成部分,结构就是这些代码如何被组织,也就是要如何处理模块(Module)、包(package)和类(class)之间的关系。简而言之,应用架构就是要解决代码如何被组织的问题。

2.架构和框架的区别

那架构和框架有什么区别呢?好多人都将架构和框架概念比较模糊,甚至混为一谈。

有个很形象的比喻:

如果用建设一幢大楼来比喻,架构就是大楼的结构、外观和功能性设计,它需要考虑的问题可以延展到抗震性能、防火性能、防地表下陷性能等;而框架则是建设大楼过程中一些成熟工艺的应用,例如楼体成型、一次浇灌等。

总得来说:

架构处于较高的抽象层次,它是战略性的。它描述了系统的组成元素、各元素的职责以及这些元素的交互关系;

框架则是针对某个具体问题领域的通用解决方案,是战术性的。它描述了具体该如何执行、实施等内容。通过使用成熟的框架,能够提高我们的工作效率。

参考文献或转载相关: