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

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


当前回答

正如我一直描述的那样:

图书馆是一个工具。

框架是一种生活方式。

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

其他回答

我认为主要的区别是框架遵循“好莱坞原则”,即。“别打给我们,我们会打给你的。”

马丁·福勒说:

库本质上是一组 你可以调用的函数 日子通常安排在课堂上。 每个调用都做一些工作并返回 控件到客户端。 框架体现了一些抽象 设计,内置了更多的行为。 为了使用它,你需要插入 你的行为变成了各种各样的地方 框架可以通过子类化或 通过插入你自己的类。的 框架的代码然后调用你的代码 在这些点上。

正如我一直描述的那样:

图书馆是一个工具。

框架是一种生活方式。

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

库——任何一组类或组件,只要客户端认为合适,就可以使用它们来完成某个任务。 框架——要求你将某些指导方针“插件”到比你更大的东西中。您只需以一种已发布的必需方式提供特定于您的应用程序/需求的部分,以便“框架可以使您的生活变得轻松”。

我认为你很好地阐述了其中的区别:框架提供了一个我们工作的框架……不知何故,它比简单的库更“有约束”。 框架还应该为一组库添加一致性。

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