圖書館(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
  • 閱讀 ( 47 )
  • 分類:科技

你可能感興趣的文章

共價有機物(covalent organic)和金屬有機骨架(metal organic framework)的區別

...的表格形式 5. 摘要 什麼是共價有機骨架(a covalent organic framework)? 共價有機骨架是二維或三維有機固體。我們可以把它們縮寫為COFs。這些材料具有擴充套件的結構,這些構件透過共價化學鍵相互結合。這些鍵是強共價鍵。通常...

  • 發佈於 2020-09-20 23:39
  • 閲讀 ( 73 )

cms公司(cms)和框架(framework)的區別

關鍵區別——cms與框架 CMS和framework之間的關鍵區別在於CMS是一種建立和管理數字內容的應用程式,而框架是一種包含通用功能的軟體,可以根據應用程式透過額外的使用者編寫的程式碼進行修改。 CMS和framework都是開發應用程...

  • 發佈於 2020-10-18 20:37
  • 閲讀 ( 45 )

系統呼叫(system call)和圖書館呼叫(library call)的區別

關鍵區別-系統呼叫與庫呼叫 系統呼叫和庫呼叫與計算機的作業系統有關。計算機可以在兩種模式下執行,即使用者模式和核心模式。系統呼叫和庫呼叫的關鍵區別在於,系統呼叫是核心提供的進入核心模式訪問硬體資源的函...

  • 發佈於 2020-10-20 00:18
  • 閲讀 ( 51 )

你是世界上最大的線上電子書俱樂部的成員嗎?

每個書蟲至少應該加入一個讀書俱樂部。什麼是讀書俱樂部?把它看作是一個為志同道合的讀者舉行的聚會。或者和書呆子約會。咖啡是可選的,一本書是必修的,但有一場辯論。 ...

  • 發佈於 2021-03-14 04:22
  • 閲讀 ( 49 )

8個免費的開源windows應用,以前是專有的

... NET Framework早在2002年就釋出了,它提供了大量的程式碼,開發人員可以使用這些程式碼來加速開發過程。例如,如果我想建立一個業務應用程式,我不必編寫將視窗繪製到螢...

  • 發佈於 2021-03-15 01:21
  • 閲讀 ( 51 )

如何在mac上查詢庫資料夾

在Mac上解決問題時,有時需要捲起袖子,直接修改庫資料夾中的系統設定檔案。蘋果預設情況下會隱藏庫資料夾,因此很難找到它。下面是如何找到它。 小心你的圖書館資料夾 蘋果隱藏Library資料夾有一個很好的理由:它包含...

  • 發佈於 2021-04-02 00:54
  • 閲讀 ( 60 )

什麼是“商業”過程,為什麼它在我的mac上執行?

...的commerce,您可以發現它的生活地點: /System/Library/PrivateFrameworks/CommerceKit.framework/Versi***/A/Resources/commerce 我們現在知道,我們已經找到了macOS的核心部分,因為系統完整性保護意味著使用者和應用程式無法寫入/System/資料夾。但...

  • 發佈於 2021-04-06 19:57
  • 閲讀 ( 46 )

如何在你的kindle上免費借閱圖書館的書

厭倦了花這麼多錢買電子書?現在大多數圖書館都允許你免費借閱電子書,就像普通書籍一樣。 它的工作原理非常相似:圖書館有一定數量的副本可供借閱。如果你想要的書的所有副本都已經簽出了,你就得等別人簽入。不過...

  • 發佈於 2021-04-07 00:47
  • 閲讀 ( 57 )

從提示框:wi-fi天線助推器,延長你的kindle圖書館貸款,和關鍵字驅動的牆紙

每週一次,我們收集一些很棒的閱讀技巧並與大家分享;本週,我們將關注DIY Wi-Fi擴音器、無限期延長Kindle圖書館的借閱期以及基於關鍵字的簡單牆紙更新。 使用反射器增強wi-fi 安吉寫了以下提示: I saw the Ask HTG earlier this ...

  • 發佈於 2021-04-12 11:49
  • 閲讀 ( 52 )

從提示框:獲得新的谷歌導航欄早,容易亞馬遜借閱圖書館搜尋,有效的sd卡格式

每週一次,我們梳理我們的提示框和讀者評論,與大家分享有用的提示和竅門。本週我們將討論如何提前獲得新的Google導航欄,從網上搜索Kindle借閱庫,以及如何解決SD格式問題。 提前使用新的google導航欄 本週早些時候,我...

  • 發佈於 2021-04-12 17:02
  • 閲讀 ( 45 )
北巷南貓li
北巷南貓li

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦