框架和库之间的区别是什么?
我一直认为库是一组对象和函数,专注于解决特定的问题或应用程序开发的特定领域(即数据库访问);另一方面,框架是一个以特定方法论(即MVC)为中心的库的集合,它涵盖了应用程序开发的所有领域。
框架和库之间的区别是什么?
我一直认为库是一组对象和函数,专注于解决特定的问题或应用程序开发的特定领域(即数据库访问);另一方面,框架是一个以特定方法论(即MVC)为中心的库的集合,它涵盖了应用程序开发的所有领域。
当前回答
库执行特定的、定义良好的操作。
框架是一个骨架,应用程序通过填充骨架来定义操作的“肉”。框架仍然有代码来连接各个部分,但最重要的工作是由应用程序完成的。
库的例子:网络协议、压缩、图像处理、字符串实用程序、正则表达式计算、数学。操作是独立的。
框架示例:Web应用程序系统,插件管理器,GUI系统。框架定义概念,而应用程序定义最终用户关心的基本功能。
其他回答
我不记得这个答案的来源了(我想我是在互联网上的一个。ppt中找到的),但答案很简单。
一个库和一个框架是一组类,模块和/或代码(取决于编程语言),可以在你的应用程序中使用,并帮助你解决特定的“问题”。
这个问题可以是在应用程序中记录或调试信息、绘制图表、创建特定的文件格式(html、pdf、xls)、连接到数据库、创建应用程序的一部分或完整的应用程序或应用于设计模式的代码。
你可以有一个框架或一个库来解决所有这些问题,甚至更多,通常框架帮助你解决更复杂或更大的问题,但这只是它们主要区别的连续,而不是两者的主要定义。
库和框架之间的主要区别是它们自己的代码之间的依赖关系,换句话说,你要使用框架 需要使用FW中几乎所有的类、模块或代码 类中的一个或几个类、模块或代码 Lib在您自己的应用程序中
这意味着,如果一个框架有50个类,为了在你需要使用的应用程序中使用框架,比如说,在你的代码中有10-15个或更多的类,因为这就是设计框架的方式,一些类(类的对象)是框架中其他类的方法的输入/参数。请参阅. net框架、Spring或任何MVC框架。
但是以一个日志库为例,你可以在你的代码中使用一个log类,并帮助你解决“日志问题”,这并不意味着日志库在他的代码中没有更多的类,比如处理文件的类,处理屏幕输出,甚至数据库,但你永远不会在你的代码中接触/使用这些类,这就是为什么它是一个库而不是一个框架的原因。
还有比框架和库更多的类别,但这是跑题了。
这是我的想法(其他人也对此进行了合理化解释):
库是包含在代码中的东西。框架是应用程序的容器。
正如我一直描述的那样:
图书馆是一个工具。
框架是一种生活方式。
你可以使用任何微小的部分来帮助你。一个你必须将整个项目投入其中的框架。
图书馆是为了方便使用和提高效率。例如,您可以说Zend库通过其定义良好的类和函数帮助我们完成不同的任务。而框架通常强制以某种方式实现解决方案,如MVC(模型-视图-控制器)(引用)。它是一个定义良好的系统,用于像MVC一样分配任务。模型包含数据库端,视图用于UI接口,控制器用于业务逻辑。
库——任何一组类或组件,只要客户端认为合适,就可以使用它们来完成某个任务。 框架——要求你将某些指导方针“插件”到比你更大的东西中。您只需以一种已发布的必需方式提供特定于您的应用程序/需求的部分,以便“框架可以使您的生活变得轻松”。