關於什麼是框架
框架(Framework)是一個框子——指其約束性,也是一個架子——指其支撐性。
IT語境中的框架,特指為解決一個開放性問題而設計的具有一定
性的支撐結構。在此結構上約束可以根據具體問題擴充套件、安插更多的組成部分,從而更迅速和方便地構建完整的解決問題的方案。
目前還沒看到什麼有趣的個人化解釋,可能是因為要解決都複雜到設計出框架來解決的問題的人比大多數有情趣的人來說都更感覺boring吧,所以……嘿嘿!
也就是說:1)框架本身一般不完整到可以解決特定問題;2)框架天生就是為擴充套件而設計的;3)框架裡面可以為後續擴充套件的元件提供很多輔助性、支撐性的方便易用的實用工具(utilities),也就是說框架時常配套了一些幫助解決某類問題的庫(libraries)或工具(tools)。
約束性:針對解決特定問題的軟體框架會首先定義問題的邊界,進而將相關的軟體元件約束在這個邊界內,保持框架在解決問題方面上的內聚性。
支撐性:框架本身是不解決什麼問題的,但給瞭解決問題的相關元件一個插接、組合的底子,這個底子的科學性和易用性直接影響到在此之上進行進一步開發的科學性和方便性。
框架不一定只是解決軟體開發問題,也可以解決軟體工程問題(比如Microsoft Solution Framework)或資訊系統等問題。
庫和框架都是一種有別於軟體、面向程式開發者的產品形式。正因為如此,也有很多人誤以為庫就是框架,或者認為指定語言的庫就是框架。
庫的英語為 Library ( 簡寫 Lib ),框架的英語為 Framework。
庫是將程式碼集合成的一個產品,供程式設計師呼叫。物件導向的程式碼組織形式而成的庫也叫類庫。程式導向的程式碼組織形式而成的庫也叫函式庫。在函式庫中的可直接使用的函式叫庫函式。開發者在使用庫的時候,只需要使用庫的一部分類或函式,然後繼續實現自己的功能。
框架則是為解決一個(一類)問題而開發的產品,框架使用者一般只需要使用框架提供的類或函式,即可實現全部功能。可以說,框架是庫的升級版。開發者在使用框架的時候,必須使用這個框架的全部程式碼。框架和庫的比較可以想像為:假如我們要買一臺電腦。框架為我們提供了已經裝好的電腦,我們只要買回來就能用,但你必須把整個電腦買回來。這樣使用者自然輕鬆許多,但會導致很多人用一樣的電腦,或你想自定義某個部件將需要修改這個框架。而庫就如自己組裝的電腦。庫為我們提供了很多部件,我們需要自己組裝,如果某個部件庫未提供,我們也可以自己做。庫的使用非常靈活,但沒有框架方便。
框架一般指的是會呼叫你的程式碼的東東,庫一般指的是會被你呼叫的東東:這個也不是絕對的。框架和庫都是程式碼庫,你在某個庫的約束下開發,那這個庫就是框架,你不受它的約束,那它就是庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2940342/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於如何編寫好金融科技客戶端SDK的思考
- 關於量化合約交易系統開發原始碼搭建(快速交付)
- 關於合約量化交易系統開發原始碼搭建框架方案
- 【學習圖片】14.網站生成器、框架和內容管理系統
- 關於伺服器資料遷移,介紹在伺服器資料遷移計劃中的7個步驟
- 關於 SysOM 2.0 網路/儲存相關診斷功能介紹及案例展示 | 第 72-73 期
- ProTradex質押智慧合約系統開發技術框架
- 微軟出品自動化神器【Playwright+Java】系列(十二)測試框架的設計與開發
- 關於sun4.0泰山眾籌阿凡達模式系統開發技術方案
- SpringCloud微服務實戰——搭建企業級開發框架(五十一):微服務安全加固—自定義Gateway攔截器實現防止SQL隱碼攻擊/XSS攻擊
- 關於EasyExcel的資料匯入和單sheet和多sheet匯出
- 關於量化交易機器人系統開發的闡述與智慧量化合約程式模型
- 關於檔案傳輸協議,你不知道的事
- JavaScript框架--邁向2023年
- FactorJoin: 一種新的連線查詢基數估計框架
- 關於多鏈錢包系統開發技術邏輯及規則(開發原始碼)
- 聯邦學習開源框架FATE架構
- golang中關於死鎖的思考與學習
- 帶你深入Java Log框架,徹底搞懂Log4J、Log4J2、LogBack,SLF4J