分享

架构和框架的区别

 东北十三少 2020-10-16

架构和框架,有的人在刚听到这两个术语时,感觉它们可能是不同的,但又不知道哪里不同;甚至有人将架构和框架混为一谈。

现在有大神把它们的区别讲清楚了,笔者在这里也谈谈学习的心得体会。

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

大神的这个比喻就非常形象地把架构和框架区分开来。

具体来说,架构和框架有以下的不同之处:

1. 架构和框架处于不同的抽象层次上

软件架构处于较高的抽象层次上。架构代表了设计师对软件系统的定义和理解,它是系统的顶层设计,它将系统划分为一些各自独立的部件,这些部件通过规定的接口传递信息。

而框架则是定义好了一套系统结构,这套结构包含哪些类和对象,它们的主要责任是什么,它们之间怎么协作,怎么控制。所以框架是针对某个问题领域的通用解决方案,从而对开发工作起到提高效率、以及指导和规范开发活动的作用。

2. 架构和框架分别服务于不同的策略

架构是战略性的,它描述的系统部署、各部职责、战略目标、系统构成、信息传递等内容;而框架则是战术性的,它描述的是具体如何组织、实施、执行等内容。

3. 架构和框架的表现形式是不同的

架构的表现形式是“虚”的,它更多地是以模型、图文的形式存在,体现的是软件系统的设计;框架的表现形式要更“实”一些,它除了这些图文说明之外,还有可复用的代码。

总之,架构是系统蓝图,是对软件系统高层次的定义和描述;框架是解决方案,是提高系统质量和开发效率的半成品。

这正是:

架构框架本不同,架构高居在顶层

框架直接可复用,战略战术要分清

参考书目:大象:Thinking in UML(第二版),谭云杰,中国水利水电出版社


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多