系统架构------架构与框架的联系与区别

之前做咨询工作时,很多小伙伴搞不清架构与框架的区别,方案或PPT中经常有“架构”和“框架”混用的情况。最近在学习企业架构的知识,企业架构中包含了企业架构(Enterprise architectures)、业务架构(Business architectures)、数据架构(Information architectures)、应用架构(Application architectures)、IT架构(ITarchitectures)、技术架构(Technology architectures)、应用架构(Solution Architectures)等概念。本文试着对两者的区别做一个梳理。

1、什么是架构?

以下是对业界对架构的一些定义:
在ISO/IEC 42010: 2011中,定义为:一个系统在其所处环境中所具备的各种基本概念和属性,具体体现为其所包含的各个元素,元素之间的关系以及架构的设计和演进原则。架构是针对某种特定目标系统的具有体系性的、普遍性的问题而提供的通用解决方案。架构往往是对复杂系统的一种共性的体系抽象。

看了以上定义,感觉还是难搞懂到底什么是架构,个人认为下面这个聚焦到信息系统构建目的定义更容易理解:

架构让我们能够正确、合理地理解、设计和构建复杂的信息系统。

2、什么是框架?

框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。

上面这个感觉其实很好理解,强调了框架的支撑性。

3、架构与框架的联系与区别

架构是一个动词,是一个方法论,包含一系列活动过程和步骤。框架是一个名词,是一个客观的存在。框架的搭建需架构方法论的指导。

下面是从IT这个领域对架构与框架之间区别的理解[1]:

框架就是软件,架构不是软件。

框架一种特殊的软件,它不能提供完整的解决方案,而是为构建解决方案提供良好的基础,框架是半成品,框架中的服务被应用直接调用,框架中的扩展点是供应用开发人员定制的“可变化点”。

架构不是软件,而是关于软件如何设计的策略,架构决策体现在软件系统中。引入软件架构之后,整个开发过程变成了“分两步走”,先做架构设计,再进行框架开发,架构决策会体现在框架之中。不能把软件代码说成是软件架构,因为软件架构是比具体代码高一个抽象层的概念。

框架和架构的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”策略,先大局后局部,就出现了架构,先通用后专用,就出现了框架。下图很好揭示了这一点,架构是抽象解决方案,关注大局而忽略细节,而框架是通用半成品,还必须根据具体需求进一步定制开发才能变成应用系统。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值