架构和框架的区别
架构和框架,有的人在刚听到这两个术语时,感觉它们可能是不同的,但又不知道哪里不同;甚至有人将架构和框架混为一谈。
现在有大神把它们的区别讲清楚了,笔者在这里也谈谈学习的心得体会。
如果用建设一幢大楼来比喻,架构就是大楼的结构、外观和功能性设计,它需要考虑的问题可以延展到抗震性能、防火性能、防地表下陷性能等;而框架则是建设大楼过程中一些成熟工艺的应用,例如楼体成型、一次浇灌等。
大神的这个比喻就非常形象地把架构和框架区分开来。
具体来说,架构和框架有以下的不同之处:
1. 架构和框架处于不同的抽象层次上
软件架构处于较高的抽象层次上。架构代表了设计师对软件系统的定义和理解,它是系统的顶层设计,它将系统划分为一些各自独立的部件,这些部件通过规定的接口传递信息。
而框架则是定义好了一套系统结构,这套结构包含哪些类和对象,它们的主要责任是什么,它们之间怎么协作,怎么控制。所以框架是针对某个问题领域的通用解决方案,从而对开发工作起到提高效率、以及指导和规范开发活动的作用。
2. 架构和框架分别服务于不同的策略
架构是战略性的,它描述的系统部署、各部职责、战略目标、系统构成、信息传递等内容;而框架则是战术性的,它描述的是具体如何组织、实施、执行等内容。
3. 架构和框架的表现形式是不同的
架构的表现形式是“虚”的,它更多地是以模型、图文的形式存在,体现的是软件系统的设计;框架的表现形式要更“实”一些,它除了这些图文说明之外,还有可复用的代码。
总之,架构是系统蓝图,是对软件系统高层次的定义和描述;框架是解决方案,是提高系统质量和开发效率的半成品。
这正是:
架构框架本不同,架构高居在顶层
框架直接可复用,战略战术要分清
参考书目:大象:Thinking in UML(第二版),谭云杰,中国水利水电出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。
《架构和框架的区别》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/483.html