《Framework和Architecture有何不同_2009-06-12.docx》由会员分享,可在线阅读,更多相关《Framework和Architecture有何不同_2009-06-12.docx(2页珍藏版)》请在优知文库上搜索。
1、Framework和Architecture有何不同Framework和Architecture有何不同?2009/6/1218:57|阅读数:14150;1人收藏2人推荐我要推荐|3COmmentS文章分类:基础概念学习与创业之路架构设计实战|订阅前几天我在帮我顾问公司的员工上课,刚好讲题就是SoftwareArchitecture,我在课堂上顺便问了一个小问题:Framework和ArChiteCtUre有什么不同?结果学员多数都答不出来,因为那间公司都把FranIeWork叫做架构,但光是架构这个词在很多技术用语上都会被套到,像网站架构,其实是SiteMaP或SiteLayoUt或是Si
2、teStrUCtUre,和真正的ArChiteCtUre根本没有关系,只是用语上好用而已.套句BiIl大的话:信息业的解释名词真的很难,因为大家每天都有新名词会发明出来。昨天我在噗浪中发问:你认为FraIneWOrk和ArChiteCtUre有什么不同?结果出现了两种不同的答案,有人认为FraIneWork可以COVerArChiteCtUre,但又有人认为Architecture的位阶比Framework要高,其实,ArChiteCtUre这个字是建筑之意,也就是由没有建筑物到完成的过程,以及如何将建筑生产出来的方法(即建筑学),它是一种GUideIine,又称蓝图(blueprint),它
3、指导了建筑物应该要怎么盖,墙要几公分高,梁柱的位置,地基的面积,基础要打在哪,高度要多高,房间要多大等等都有。但它却没有叫你要用什么方式(工法)盖。软件也是一样,所谓的软件架构(SoftwareArchitecture)是一种软件的蓝图,它告诉你这个软件的结构,功能,接口,用法,与其他系统的构连以及数据交换等等规范,但它并没有叫你要用什么方式实作,因此软件架构通常会产生文件,图样,原型以及规格等,就是没有可用的程序代码,因为那不是软件架构应该有的东西,就像盖房子时是给你蓝图,而不是一幢盖好的房子。相对的,软件框架(Framework)的英文名称原意是骨架,拆开来看是Frame”-,work表示
4、是在一个既定的框架下可以做的工作,也就是说,这是一个已经成形的方法,而且有程序代码实体(例如钢构工法也是要有钢材才能做),并且会告诉你要如何使用它(即FranleWOrkDocumentation,MSDNLibrary即为一最佳例子),但怎么使用它是程序设计师(也就是监工)的工作,与FraineWork无关。Framework和Architecture经常被用来叫做架构,其实它们两个本质上的差异是很大的,Framework只会告诉你怎么用,但不会告诉你怎么实作出特定功能,而ArChiteCtUre是告诉你某些功能的走向以及方针,但却没有程序代码给你,所以Architecture通常会需要Framework来实现,而Framework也需要Architecture才能发挥其所长。