图书馆(library)和框架(framework)的区别

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

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

库和框架之间的关键区别是“控制反转”(IoC)。有人可以说框架是一个图书馆的集合,但是整体的想法是不同的。

 

图书馆(library)和框架(framework)的区别

什么是图书馆(library)?

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

什么是框架(framework)?

框架是一段代码,它规定了项目的结构和运行方式。它只要求项目的体系结构,比如定义应用程序的设计参数,这样您就可以专注于项目的细节,从而强调设计的可重用性,而不是代码的可重用性。与库不同,对于框架,控件是反向的,代码从不调用框架,而是框架调用您。与库不同,框架强调结构和标准。

图书馆(library)和框架(framework)的区别

 

图书馆与框架的区别

  1. 意义

在编程中,库是一个可重用函数的集合,也就是说,计算机程序使用的资源可以重用。资源(有时称为模块)通常以对象格式存储。大多数编程语言都有自己的标准库,但是程序员也可以创建自己的自定义库。简单地说,库是一组可以调用的函数,而框架是一段代码,它决定了项目的架构。在某种程度上,框架和编程语言相互交织,这有助于计算机程序的发展。

  1. 控制反转

“控制反转”是区分框架和库的关键区别。库是由其他程序使用的一组函数和例程,当您从库中调用方法时,您可以完全控制它。但是,在框架的情况下,控件是反向的。它规定了项目的结构,代码从不调用框架,而是调用您。简单地说,您可以简单地将库视为应用程序的函数,将框架视为应用程序的框架,应用程序在其中定义自己的特性。

  1. 功能

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

  1. 例子

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

图书馆与框架:比较图

图书馆(library)和框架(framework)的区别

 

总结 - 图书馆管理(of library) vs. 框架(framework)

当您在决定是否应该使用库或框架来构建应用程序时遇到困惑时,一切都归结为控制。库是一组可以调用的函数,每次调用都执行一些任务并将控件返回给您。它们可以无缝地整合到现有的项目中,需要一点知识才能开始。另一方面,框架决定了项目的整体结构,与库不同,框架调用您,代码从不调用框架。关键的区别当然是控制反转。简单地说,库更灵活,控制程度更高,而框架则强制执行结构和标准。

  • 发表于 2021-06-25 17:50
  • 阅读 ( 398 )
  • 分类:IT

你可能感兴趣的文章

共价有机物(covalent organic)和金属有机骨架(metal organic framework)的区别

...的表格形式 5. 摘要 什么是共价有机骨架(a covalent organic framework)? 共价有机骨架是二维或三维有机固体。我们可以把它们缩写为COFs。这些材料具有扩展的结构,这些构件通过共价化学键相互结合。这些键是强共价键。通常,cof...

  • 发布于 2020-09-20 23:39
  • 阅读 ( 405 )

cms公司(cms)和框架(framework)的区别

关键区别——cms与框架 CMS和framework之间的关键区别在于CMS是一种创建和管理数字内容的应用程序,而框架是一种包含通用功能的软件,可以根据应用程序通过额外的用户编写的代码进行修改。 CMS和framework都是开发应用程序的...

  • 发布于 2020-10-18 20:37
  • 阅读 ( 453 )

系统调用(system call)和图书馆呼叫(library call)的区别

...务。 目录 1. 概述和主要区别 2. 什么是系统调用 3.什么叫图书馆 4. 系统调用与库调用的相似性 5. 并排比较-以表格形式显示系统调用与库调用 6. 摘要 什么是系统调用(system call)? 计算机以两种模式运行。它们是用户模式和内核...

  • 发布于 2020-10-20 00:18
  • 阅读 ( 575 )

microsoft.net framework:为什么需要它以及如何在windows上安装它

如果您经常下载和安装软件,可能会遇到涉及Microsoft.NET Framework的错误。两个最常见的错误是什么?要么你没有在你的系统上安装它,要么你有错误的版本。 ...

  • 发布于 2021-03-17 04:56
  • 阅读 ( 311 )

microsoft.net framework 3.5(microsoft .net framework 3.5)和.net framework 4.0(.net framework 4.0)的区别

Microsoft.Net Framework 3.5与.Net Framework 4.0 Microsoft的.Net框架就像一台虚拟机,应用程序彼此之间运行。Net framework 3.5和.Net framework 4.0是该软件框架的两个连续版本,后者最终应该取代前者。它们之间的主要区别是.Net framework 3.5已经内...

  • 发布于 2021-06-23 17:16
  • 阅读 ( 215 )

.net(.net)和asp.net(asp.net)的区别

Microsoft于2000年首次开发了ASP.NET(以前称为ASP+)和.NET Framework。第一个版本的.NET Framework于2002年发布,命名为.NET Framework 1.0。微软在2014年发布了.NET Core,旨在为.NET Framework提供跨平台支持。NET框架在过去的几年中经历了多次迭代...

  • 发布于 2021-06-25 20:25
  • 阅读 ( 343 )

应用程序编程接口(api)和java框架(framework in java)的区别

Java中API和framework的主要区别在于,javaapi是一组封装功能的组件的接口,而framework是一组帮助开发项目的类、工具和相关组件。 javaapi是一组用于构建软件的子例程定义、通信协议和工具。API的使用和实现包含在其文档中。Java框...

  • 发布于 2021-07-01 01:02
  • 阅读 ( 548 )

插件(plugin)和图书馆(library)的区别

...第三方开发人员能够创建扩展应用程序的能力。 什么是图书馆(library)? 库是由计算机程序使用的一组类和函数。此外,它还包括配置数据、帮助数据、文档等。此外,库具有定义良好的接口。例如,库可以帮助进行系统调用,...

  • 发布于 2021-07-01 04:15
  • 阅读 ( 435 )

zend框架1(zend framework 1)和2.(2)的区别

zendframework1和zendframework2的主要区别在于zend1是一个与php5兼容的开源PHP框架,而zend2是一个与php5.3+兼容的开源PHP框架,具有zend1以外的其他特性,如名称空间、后期静态绑定、lambda函数和闭包。 PHP中有许多框架。这些框架由开发we...

  • 发布于 2021-07-01 06:40
  • 阅读 ( 332 )

.net(.net)和asp.net(asp.net)的区别

...架,它是.NET的一部分,允许构建动态web应用程序。 .NET framework面向各种平台,包括移动、嵌入式系统、操作系统和web浏览器插件。此外,它还提供了与许多编程语言的互操作性,提高了安全性,提供了自动垃圾收集器,提供了...

  • 发布于 2021-07-01 10:18
  • 阅读 ( 423 )
北巷南猫li
北巷南猫li

0 篇文章

相关推荐