笔者发现,人们对软件架构存在非常多的误解,其中一个最为普遍的误解就是:将架构和框架(Framework)混为一谈。本文阐述了它们的区别。算是对思辨成果的一个应用吧。
  框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。
  软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。或许,人们常把架构和框架混为一谈的原因就在于此吧。
  框架是一个可实例化的、部分完成的软件系统或子系统,它为一组系统或子系统定义了架构,并提供了构造系统的基本构造块,还为实现特定功能定义了可调整点。在面向对象环境中,框架由抽象类和具体类组成。

温昱谈架构和框架(Framework)的区别相关推荐

  1. 6月8日14:00,温昱谈“软件架构设计智慧之旅”

    2007年06月04日 22:18:00 温昱谈"软件架构设计智慧之旅" --CSDNF 2F 俱乐部&博文视点名家讲谈活动之十二 活动形式及地点:CSDN嘉宾在线聊天室, ...

  2. 温昱:架构实践全景图

    业务架构是跨系统的业务架构蓝图,应用架构.数据架构.技术架构是解决方案的不同方面. 多年来,全球业界已在业务架构.应用架构.数据架构.技术架构方面积累了大量经验. 近几年,数字化转型呼唤"懂 ...

  3. 架构和框架(Framework)的区别

    人们对软件架构存在非常多的误解,其中一个最为普遍的误解就是:将架构和框架(Framework)混为一谈 人们对软件架构存在非常多的误解,其中一个最为普遍的误解就是:将架构和框架(Framework)混 ...

  4. [收集] Web服务相关的, 介绍框架(framework)类的论文

    收集了部分Web服务相关的, 介绍框架(framework)类的论文 <RECORD 1> WSCF: A framework for web service-based applicat ...

  5. 浅谈javaweb三大框架和MVC设计模式

    浅谈javaweb三大框架和MVC设计模式 转载自:http://blog.csdn.net/sunpeng19960715/article/details/50890705 小序:博主以前在学jav ...

  6. 架构,框架,模式,模块、组件、插件的含义和区别

    架构.框架.模式.模块.组件.插件.控件.中间件的含义和区别.经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流.左侧英文栏中有些单词被分 ...

  7. 软件设计中架构和框架的区别

    构架和架构也就是通常所说的软件体系结构(software architecture). 体系结构一般包括三个部分: 1.构件:用于描述计算. 2.连接器:用于描述构件的连接部分. 3.配置:将构件和连 ...

  8. 软件构架、架构和框架的区别

    2019独角兽企业重金招聘Python工程师标准>>> 软件框架(Software Framework)介绍  面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的.可复用的 ...

  9. 架构、框架和设计模式

    最近要填写项目经验,想把去年写的一个网站(Spring MVC)经验写上去装一下,刚百度了一个Spring MVC就搜出了一堆东西,然后想当然的搜了一个三层架构(这是学软件工程的时候提过的),以为就是 ...

最新文章

  1. 认真推荐8个功能强大的实用网站,备受好评!
  2. d3.js 旋转图形_【IOS游戏推荐】百万畅销游戏刚从STEAM移植至IOS平台,在极端地形中冒险前进!——旋转轮胎:泥泞奔驰...
  3. Ubuntu18.4 中 eBPF bcc环境搭建
  4. excel的宏与VBA入门(三)——流程控制
  5. python:how does subclass call baseclass's __init__()
  6. .class和getClass()的区别
  7. php版主动推送,织梦php主动推送完整实例(单篇推送版本)
  8. koa2 mysql_koa2+vue+mysql 全栈开发记录
  9. python高中题_python练习题
  10. 如何查看手机的android版本信息,怎么查看手机型号、配置、版本【图文教程】...
  11. pycharm的python解释器选择_pycharm中配置python解释器
  12. word怎么把页面顺序倒过来_word设置倒序打印的方法
  13. Python中遇到pcap not match 问题
  14. [答疑]为什么要把actor翻译成执行者
  15. Mbit/s MB/s MiB/s单位
  16. 磁盘阵列柜性能介绍(一)
  17. 【hadoop】mapreduce面试题总结
  18. CSAPP学习笔记 day1
  19. runtime 黑魔法
  20. 碳中和大潮惊涛拍岸,科技企业如何迈入这条大江大河?

热门文章

  1. C++的#include_next
  2. jdbc mysql 报错 ssl_Mybatis使用JDBC连接数据库报错及解决方案
  3. mysql基于.frm和.ibd进行mysql数据恢复
  4. 表的插入、更新、删除、合并操作_2_插入含自增列的记录
  5. android 文件读取错误,Android源文件从SD卡读取错误问题,怎么处理
  6. dedecmsmip_织梦MIP文章内容页图片适配百度MIP规范
  7. 用HttpListener做web服务器,简单解析post方式过来的参数、上传的文件
  8. Mac 下搭建环境 homebrew/git/node.js/npm/vsCode...
  9. java自学之路-day17
  10. Mozilla 将 Firefox 的命运与 Rust 语言捆绑在一起