我们在平时看书或者看一些文章时都会提到框架或者库,但是有时候两者之间的区别还是不清楚的,容易混淆;我们都知道库的英语为 Library,常包含有lib的字母,框架的英语为 Framework。
库是将代码集合成的一个产品,供程序员调用。面向对象的代码组织形式而成的库也叫类库。面向过程的代码组织形式而成的库也叫函数库。
框架则是为解决一个或者一类问题而开发的产品,框架用户一般只需要使用框架提供的类或函数,即可实现全部功能。可以说,框架是库的升级版。
开发者在使用框架的时候,必须使用这个框架的全部代码。
我们可以将框架和类库比喻为:类库就像心脏、血管、血液等,就好像一个工具一样;框架就是心脏将全身的血管连接起来,组成一个闭合回路,让血液在这个回路中不停的流动。当然,也可以把其想象成框架是挖好了坑,让你去填;而库就是给你一把铲子,自己去挖。类库是静态的代码,它等着别人去用;而框架是一个运行时的结构,它会去调用一系列的类库。
框架通过封装处理流程的控制逻辑,使它对开发者透明,来简化开发工作。这种封装也是框架和类库(class library)的区别之一。类库由许多现成的、供开发者用于构建应用的组件组成,但是,开发者必须理解不同组件之间的关系,并编写处理流程代码把众多组件组织起来。框架则不同,它通过预先把众多组件组织在一起的方式,封装了处理流程的控制逻辑;因此,开发者就不用再编写控制逻辑来组织组件之间的交互了。
原文地址:http://blog.csdn.net/w_x_p/article/details/40788317