为给定的问题选择正确的工具或技术是编程中最重要的方面之一。 正确的工具是项目成功的关键。 这是大多数程序员失败的地方,因为他们通常会处理许多工具。 这涉及到一个最终的问题,即“您应该使用库还是框架来构建应用程序?”这是程序员社区中最有争议的讨论主题之一,并且常常引起混乱。 一个由少数开发人员,大多数为初学者组成的小团队可能会更好地使用框架,而库是可以在任何地方使用的构建基块,并具有更大的灵活性和控制力。

库和框架之间的主要区别是“控制反转”(IoC)。可以说框架是库的集合,但是整个想法有所不同。

库和框架

什么是库?

库是计算机程序使用的可重用函数的集合,意味着可以重用的资源,包括类,子例程,预编译的代码,消息模板等。大多数编程语言都有其自己的标准库,但程序员也可以创建自己的库自定义库。它只是由其他开发人员编写的一段代码,可以在任何地方重用。可以将库无缝集成到现有项目中,以添加功能,可以使用API进一步访问这些功能。需要一点知识才能开始。

什么是框架?

框架是一段代码,指示应如何构造和运行项目。它只是像定义应用程序的设计参数一样简单地要求项目的架构,因此您可以专注于项目的细节,从而强调设计的可重用性而不是代码的可重用性。与库不同,在框架的情况下控件是反向的,并且代码从不调用框架,而是由框架调用您。与库不同,框架强调结构和标准。

库和框架之间的区别

1. 含义
在编程中,库是计算机程序使用的可重用功能的集合,即可重用的资源。资源(有时称为模块)通常以对象格式存储。大多数编程语言都有自己的标准库,但是程序员也可以创建自己的自定义库。简而言之,库是可以调用的一组函数,而框架是指示项目结构的一段代码。在某种程度上,框架和编程语言相互交织在一起,共同辅助了计算机程序。

2. 控制反转
“控制反转”是将框架与库分开的主要区别。库是其他程序使用的一组函数和例程,如果从库中调用方法,则可以完全控制。但是,在框架的情况下,控件是反向的。它决定了项目的结构,并且代码从不调用框架,而是调用。简而言之,可以简单地将库视为应用程序的功能,而将框架视为应用程序的框架,应用程序在其中定义自己的功能。

3. 功能
库是一组可以在任何地方使用的函数,这意味着它只是其他开发人员编写的可重复使用的一段代码。它们无缝地集成到现有项目中,以添加您可以使用API访问的功能。它们通常用于经常使用的模块,因为您不必显式地将它们链接到使用它们的每个程序。它们在程序链接和绑定过程中很重要。另一方面,框架提供了构建和部署应用程序的标准方法,并且在启动新项目时可以广泛使用,而不必将其集成到现有项目中。

4. 示例
为了更好地理解库和框架之间的区别,让我们看一下jQuery和AngularJS。 jQuery是一个跨平台的JavaScript库,它简化了DOM操作以及许多其他复杂的事情,例如CSS操作,HTML事件方法,AJAX调用等。jQuery的目的是简化网站上JavaScript的使用。另一方面,AngularJS是基于用于创建动态Web应用程序的MVC架构的结构框架。它完全基于HTML和JavaScript,与jQuery不同,它不能集成到现有项目中,因为它作为框架,决定了代码的结构和运行方式。

总结

如果在决定是否应该使用库或框架来构建应用程序时感到困惑,所有这些都归于控制。 库是可以调用的一组函数,每个调用执行一些任务并将控件返回。 它们可以无缝地集成到现有项目中,并且需要一点知识才能入门。 另一方面,框架决定了项目的整体结构,与库不同,框架会调用,而代码绝不会调用框架。 关键区别当然是控制反转。 简而言之,库具有更大的控制程度,更加灵活,而框架则强制执行结构和标准。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:库和框架
本文链接:https://www.vsdiffer.com/vs/library-vs-framework.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。