软件框架与库2025年3月17日 | 阅读 8 分钟 许多用户并不了解框架和库之间的显著区别。如果用户想成为一名优秀的开发者(或编码者),理解这一点非常重要。框架通常被认为是多个库的集合。然而,这并不完全正确。“谁调用谁”意味着调用者/被调用者的关系定义了这两个术语的区别。如果我们谈论库,“它是用户编写的代码调用其他人编写的库中的代码”。 那么“库”这个术语的实际含义是什么?总的来说,库是一组预定义的函数和类,开发者可以使用它们来简化工作并加速开发过程。这意味着这些函数和类的代码已经写在库中,开发者不需要为某些特定功能编写代码,他们可以通过自己的代码调用和使用库中的代码。 从一般意义上讲,任何典型库的大小都不大。尽管如此,库通常专注于狭窄的范围,例如字符串、套接字、IO,因此其API的大小也很小,并且只需要很少的依赖项。库只是一个带有定义的类集合。 我们为什么需要库?这个问题的答案很简单,例如,重用其他人(或其他开发者)已经编写的代码,这有助于开发者避免为已经编写在库中的某个功能编写代码。 我们可以通过一个例子来理解库的重要作用 示例 在某些库中,有一个名为“findLastInde()”的方法。此方法的定义是为了查找字符串中传递为参数的特定字符的索引。因此,我们可以简单地调用“findLastIndex(要查找的字符)”方法,并通过在括号中编写字符来传递该字符,例如“findLastIndex(A)”,我们要搜索它的位置。 如何创建库?假设我们有一个程序,我们计划在其中处理字符串,并希望保持我们的代码“DRY”(不要重复自己),我们将编写一些可重用的函数,如下面的程序所示。 程序 这样我们就创建了一个库。但是,我们仍然需要保存它,以便通过简单地调用它们来使用这些函数。 创建和使用我们自己的库代码要创建库,请遵循以下说明
框架框架只是提供了一个基本结构,我们可以在此基础上添加自己的代码来实现该系统的显著功能。因此,它允许我们以标准的方式创建应用程序,并且最重要的是要记住,如果我们使用框架来创建应用程序,显然框架会迫使我们以特定的标准方式工作。我们还可以学习一种创建网站和应用程序的标准方法,以便我们的应用程序和网站更加标准化。 框架中定义的函数是可重用的,这意味着如果我们想在项目中的多个不同地方使用相同的功能,我们可以使用它,而且我们也不需要创建该函数,因为框架已经为我们做了很多工作。 框架的另一个定义 简而言之,我们可以说软件框架是一种抽象,其中框架为我们提供了一种通用功能,我们可以通过编写附加代码来更改或修改它。这就是提供应用程序特定软件的方式。 示例 假设我们正在处理一个特定的框架,例如“Laravel”,它有很多功能,我们谈论一个单一函数,它只是一个Eloquent模型的使用,它为我们提供了一些可以在我们项目的任何地方使用的函数。在这种情况下,我们也不需要编写从数据库获取数据的函数,并且每当我们想获取数据时,我们只需要调用该函数。 框架可以做什么?框架简化了创建 Web 应用程序的过程。那么它是如何做到的呢?假设一个用户正在从头开始创建 Web 应用程序,那么他会怎么做?他会创建一些空目录。在其中,他将创建一些基本文件,例如“index.html”、style.css,并且每次开始新项目时,他都必须从头开始,并且每次新项目都必须重复完全相同的过程。在这里,框架发挥了重要作用,它将为用户完成这项工作,而用户只需从他的逻辑开始,每次创建新项目时都不必从头开始。现在用户只需专注于项目的总体规划,框架为我们节省了大量时间。 库和框架之间的关键区别库和框架之间的主要区别在于一个称为“IOC”(控制反转)的术语。这是一种关于控制流的技术区别。 假设,当我们从库中使用预定义的函数或类时,我们拥有完全的控制权,由我们选择何时何地使用库(或调用库中已有的函数或类)。而另一方面,如果我们使用框架,框架将负责控制流程。框架允许我们将代码插入到某些地方,但它会根据需要调用我们编写的代码。 让我们通过 vue.js(框架)和 jQuery(库)的例子来理解 假设我们要创建一个页面,在发生错误时,我们希望在该页面上显示与该错误相关的错误和信息。在以下示例中,我们将单击按钮并假装发生了一些错误。 使用 jQuery(库)的程序 看看我们是如何使用 jQuery 的。我们构建程序的方式是告诉程序我们想在何处调用它。我们可以这样理解:学生去大学图书馆,因为想学习,所以从书架上拿起一本书。 这里我们并不是说 jQuery 函数在调用它们时不需要某些输入。但是,jQuery 本身就是这类函数的集合。我们拥有完全的控制权。 示例 2 在下面给出的例子中,我们将做同样的工作,但这次我们将使用框架(vue.js)。 使用 vue.js(框架)的程序 在使用框架时,用户只需填写空白即可。VUE 本身是一个构造函数,具有几个特定的属性。它说明了它需要的需求,并在后端 VUE 决定何时何地需要它。VUE(一个框架)只是反转了控制,我们将我们的代码插入到 VUE 中。框架拥有控制权(负责)。 库和框架之间的一些其他基本区别
![]() 总结在库和框架中编写的代码都是由他人(或其他开发者)编写的,这有助于用户以多种方式执行许多标准任务。这也不意味着用户不能创建自己的库。 当用户在他的程序中使用库时,他/她拥有完全的控制权,而另一方面,如果我们谈论使用框架的用户,则框架本身拥有完全的控制权而不是用户。或者我们可以说,如果用户使用框架而不是库,程序的控制权就会反转。 在程序中使用库时,用户可以自由地在程序中任何他想使用库的地方调用和使用。在框架的情况下,用户没有完全的自由,尽管在框架中用户需要为特定功能插入其代码。 下一主题Spring |
我们请求您订阅我们的新闻通讯以获取最新更新。