首頁 常見問題 什麼是框架?

什麼是框架?

Jun 15, 2020 pm 04:19 PM
框架

什麼是框架?

什麼是框架?

框架(framework)是一個框子-指其約束性,也是一個架子-指其支撐性。是一個基本概念上的結構,用來解決或處理複雜的問題。

框架這個廣泛的定義使用的十分流行,尤其在軟體概念。框架也能用於機械結構。

在軟體工程中的架構:

框架( Framework )是構成一類特定軟體可重複使用設計的一組相互協作的類別。框架規定了你的應用的體系結構。它定義了整體結構,類別和物件的分割,各部分的主要責任,類別和物件怎麼協作,以及控制流程。框架預先定義了這些設計參數,以便於應用設計者或實作者能集中精力於應用本身的特定細節。

為什麼要用框架:

因為軟體系統發展到今天已經很複雜了,特別是伺服器端軟體,涉及到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就等於讓別人幫你完成一些基礎工作,你只需要專注於完成系統的業務邏輯設計。而且框架一般是成熟,穩健的,他可以處理系統很多細節問題,例如,事務處理,安全性,資料流控制等問題。還有框架通常都經過很多人使用,所以結構很好,所以擴充性也很好,而且它是不斷升級的,你可以直接享受別人升級程式碼帶來的好處。

框架一般處在低層應用平台(如J2EE)和高層業務邏輯之間的中間層。

軟體為什麼要分層?為了實現「高內聚、低耦合」。把問題劃分開來各個解決,易於控制,易於延展,易於分配資源…總之好處很多啦。

框架開發:

框架的最大好處就是重複使用。物件導向系統所獲得的最大的複用方式就是框架,一個大的應用系統往往可能由多層互相協作的框架所組成。

由於框架能重複使用程式碼,因此從一已有構件庫中建立應用變得非常容易,因為構件都採用框架統一定義的接口,從而使構件間的通信簡單。

框架能重複使用設計。它提供可重複使用的抽象演算法及高層設計,並能將大系統分解成更小的構件,而且能描述構件間的內部介面。這些標準介面使在現有的構件基礎上透過組裝建立各種各樣的系統成為可能。只要符合介面定義,新的構件就能插入框架中,構件設計者就能重複使用架構的設計。

框架還能重複分析。所有的人員若依照框架的思想來分析事務,那麼就能將它劃分為同樣的構件,採用相似的解決方法,從而使採用同一框架的分析人員之間能進行溝通。

主要特點:

1、領域內的軟體結構一致性好;建立更開放的系統;

2、重複使用程式碼大幅增加,軟體生產效率和品質也得到了提高;

3、軟體設計人員要專注於對領域的了解,使需求分析更充分;

4、儲存了經驗,可以讓那些經驗豐富的人員去設計框架和領域構件,而不必限於低層編程;

5、允許採用快速原型技術;

6、有利於在一個專案內多人協同工作;

7、大力度的重複使用使得平均開發費用降低,開發速度加快,開發人員減少,維護費用降低,而參數化框架使得適應性、彈性增強。

更多相關知識,請造訪 PHP中文網! !

以上是什麼是框架?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何評估Java框架商業支援的性價比 如何評估Java框架商業支援的性價比 Jun 05, 2024 pm 05:25 PM

評估Java框架商業支援的性價比涉及以下步驟:確定所需的保障等級和服務等級協定(SLA)保證。研究支持團隊的經驗和專業知識。考慮附加服務,如昇級、故障排除和效能最佳化。權衡商業支援成本與風險緩解和提高效率。

PHP 框架的學習曲線與其他語言框架相比如何? PHP 框架的學習曲線與其他語言框架相比如何? Jun 06, 2024 pm 12:41 PM

PHP框架的學習曲線取決於語言熟練度、框架複雜性、文件品質和社群支援。與Python框架相比,PHP框架的學習曲線較高,而與Ruby框架相比,則較低。與Java框架相比,PHP框架的學習曲線中等,但入門時間較短。

PHP 框架的輕量級選項如何影響應用程式效能? PHP 框架的輕量級選項如何影響應用程式效能? Jun 06, 2024 am 10:53 AM

輕量級PHP框架透過小體積和低資源消耗提升應用程式效能。其特點包括:體積小,啟動快,記憶體佔用低提升響應速度和吞吐量,降低資源消耗實戰案例:SlimFramework創建RESTAPI,僅500KB,高響應性、高吞吐量

Java框架的效能比較 Java框架的效能比較 Jun 04, 2024 pm 03:56 PM

根據基準測試,對於小型、高效能應用程序,Quarkus(快速啟動、低記憶體)或Micronaut(TechEmpower優異)是理想選擇。 SpringBoot適用於大型、全端應用程序,但啟動時間和記憶體佔用稍慢。

golang框架文件最佳實踐 golang框架文件最佳實踐 Jun 04, 2024 pm 05:00 PM

編寫清晰全面的文件對於Golang框架至關重要。最佳實踐包括:遵循既定文件風格,例如Google的Go程式設計風格指南。使用清晰的組織結構,包括標題、子標題和列表,並提供導覽。提供全面且準確的信息,包括入門指南、API參考和概念。使用程式碼範例說明概念和使用方法。保持文件更新,追蹤變更並記錄新功能。提供支援和社群資源,例如GitHub問題和論壇。建立實際案例,如API文件。

如何為不同的應用場景選擇最佳的golang框架 如何為不同的應用場景選擇最佳的golang框架 Jun 05, 2024 pm 04:05 PM

根據應用場景選擇最佳Go框架:考慮應用類型、語言特性、效能需求、生態系統。常見Go框架:Gin(Web應用)、Echo(Web服務)、Fiber(高吞吐量)、gorm(ORM)、fasthttp(速度)。實戰案例:建構RESTAPI(Fiber),與資料庫互動(gorm)。選擇框架:效能關鍵選fasthttp,靈活Web應用選Gin/Echo,資料庫互動選gorm。

Java框架學習路線圖:不同領域中的最佳實踐 Java框架學習路線圖:不同領域中的最佳實踐 Jun 05, 2024 pm 08:53 PM

針對不同領域的Java框架學習路線圖:Web開發:SpringBoot和PlayFramework。持久層:Hibernate和JPA。服務端響應式程式設計:ReactorCore和SpringWebFlux。即時計算:ApacheStorm和ApacheSpark。雲端運算:AWSSDKforJava和GoogleCloudJava。

Golang框架學習過程中常見的迷思有哪些? Golang框架學習過程中常見的迷思有哪些? Jun 05, 2024 pm 09:59 PM

Go框架學習的迷思有以下5種:過度依賴框架,限制彈性。不遵循框架約定,程式碼難以維護。使用過時庫,帶來安全和相容性問題。過度使用包,混淆程式碼結構。忽視錯誤處理,導致意外行為和崩潰。