1.架构

架构不是软件,而是关于软件如何设计的重要策略,它是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。引入软件架构之后,整个开发过程变成了“分两步走”,先做架构设计,再进行框架开发,架构决策会体现在框架之中。

2.构架

构架可以理解为组成,简单的说就是一个产品有哪些部分组成,这里的产品指的是开发框架。严格意义上来说,架构本质上也是构架,但是它包含了应用,即软件的部分功能。

3.结构

结构是通用词,在不同专业领域可能有不同的含义。泛指一个东西、系统、概念的内部组成元素,以及这些组成元素之间的联结、构造关系。

4.框架

框架(framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。与架构不同,框架是一种特殊的软件,它不能提供完整的解决方案,而是为构建解决方案提供良好的基础,框架通常以构件库的形式出现,但构架库只是框架的一个重要部分,框架的关键在于框架内对象间的的交互模式和控制流模式。

延伸阅读

框架和架构之间有什么关系

框架和架构的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”策略,先大局后局部,就出现了架构,先通用后专用,就出现了框架。架构是问题的抽象解决方案,它关注大局而忽略细节;而框架是通用半成品,还必须根据具体需求进一步定制开发才能变成应用系统。简而言之,框架和架构的关系可以总结为以下两点:

名列前茅,为了尽早验证架构设计,或者出于支持产品线开发的目的,可以将关键的通用机制甚至整个架构以框架的方式进行实现;

第二,业界(及公司内部)可能存在大量可供重用的框架,这些框架或者已经实现了软件架构所需的重要架构机制,或者为未来系统的某个子系统提供了可扩展的半成品,所以最终的软件架构可以借助这些框架来构造。