框架和库之间的区别是什么?

我一直认为库是一组对象和函数,专注于解决特定的问题或应用程序开发的特定领域(即数据库访问);另一方面,框架是一个以特定方法论(即MVC)为中心的库的集合,它涵盖了应用程序开发的所有领域。


当前回答

库实现功能的目的很窄,而框架往往是库的集合,为更广泛的特性提供支持。例如,库System.Drawing.dll处理绘图功能,但它只是整个. net框架的一部分。

其他回答

正如我一直描述的那样:

图书馆是一个工具。

框架是一种生活方式。

你可以使用任何微小的部分来帮助你。一个你必须将整个项目投入其中的框架。

我认为库是一组实现目标的实用程序(例如,套接字,加密等)。

框架是库+运行时环境。例如,ASP。NET是一个框架:它接受HTTP请求、创建页面对象、调用生命周期事件等等。框架完成了所有这些工作,您编写了一些代码,这些代码将在当前请求生命周期的特定时间运行!

库执行特定的、定义良好的操作。

框架是一个骨架,应用程序通过填充骨架来定义操作的“肉”。框架仍然有代码来连接各个部分,但最重要的工作是由应用程序完成的。

库的例子:网络协议、压缩、图像处理、字符串实用程序、正则表达式计算、数学。操作是独立的。

框架示例:Web应用程序系统,插件管理器,GUI系统。框架定义概念,而应用程序定义最终用户关心的基本功能。

什么是图书馆?

库是代码块的集合(可以是变量、函数、类、接口等形式),由开发人员构建,以简化其他发现其相关性的开发人员的软件开发过程。

什么是框架?

参考库的定义,我们可以将框架定义为一种工具,通过在受控的开发环境中为开发人员提供必要的库,帮助开发人员解决大量特定于领域的问题。

根据Erich Gamma等人在《设计模式》一书中给出的定义:

库:构成可重用实现的一组相关过程和类; 框架:由一组具有模板方法的协作类组成的可重用规范。它设置了控制流,并允许通过在子类中重写框架类中模板方法调用的钩子方法来将框架裁剪到特定问题的流中。

特定于问题的代码可以使用库和实现框架。