搜尋
首頁常見問題什麼是mvc框架,怎麼認識

什麼是mvc框架,怎麼認識

Nov 16, 2020 pm 02:11 PM
mvc框架

mvc框架一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個元件裡,在改進和個性化客製化介面的及使用者交互的時候,不需要重新寫業務邏輯。

什麼是mvc框架,怎麼認識

1、什麼是mvc

#Model View Controller,是模型-視圖-控制器的縮寫,一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個元件裡,在改進和個人化客製化介面的及使用者互動的時候,不需要重新編寫業務邏輯。 mvc用於映射傳統的輸入、處理、輸出功能在一個邏輯的圖形使用者介面的結構中。

  • mvc就是類似三層的一種架構,主要採用封裝(分層)的思想,來降低耦合度,從而使我們的系統更靈活,擴展性更好。

  • model是應用程式中用來處理資料邏輯的部分。通常模型物件負責在資料庫中存取資料。

  • view是應用程式中處理資料顯示的部分。通常視圖是依據資料模型建立的。

  • controller是應用程式中處理資料互動的部分。通常控制器負責從視圖讀取數據,控制使用者輸入,並向模型發送。

2、mvc的優點

(1)多個視圖共享一個模型,大幅提升程式碼的可重複使用性。

(2)三個模組相互獨立,改變其中一個不會影響其他兩,所以依據這種設計模式能建構良好的鬆散耦合性的組件。

(3)控制器提高了應用程式的靈活性和可控性。控制器可以用來連接不同的模型和視圖去完成使用者的需求,這樣控制器就可以為建構應用程式提高強而有力的手段。

3、mvc的缺點

(1)增加了系統結構和實作的複雜性。

對於簡單頁面,嚴格遵循mvc,使模型、視圖與控制器分離,會增加結構的複雜性,並可能產生過多的更新操作,降低運行效率。

(2)視圖與控制器過於緊密的連接。

視圖與控制器是相互分離,但確實聯繫緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。

(3)視圖對模型資料的低效率存取。

依據模型操作介面的不同,視圖可能需要多次呼叫才能獲得足夠的顯示資料。對未變更資料的不必要的頻繁訪問,也將損害操作效能。

(4)目前,一些進階的介面工具或建構器不支援mvc。

  改造這些工具以適應MVC需求和建立分離的零件的代價是很高的,從而造成使用MVC的困難。

 綜上,對於開發存在大量用戶界面,並且業務邏輯複雜的大型應用程序,MVC將會使你的軟體在健壯性、代碼重用和結構方面上一個新的台階。儘管在最初建立MVC框架時會花費一定的工作量,但從長遠角度看,它會大大提高後期軟體開發的效率。所以我們在具體適用時,要綜合考慮其適用範圍,

4、框架vs設計模式

(1)框架通常是程式碼重用,而設計模式是設計重用,

  架構則介於兩者之間,部分程式碼重複使用,部分設計重複使用,有時分析也可重複使用。

  在軟體生產上有三種層級的重複使用:

  內部重複使用,即在同一應用程式中能公用的抽象區塊;

  程式碼重用,即將通用模組組合成庫或工具集,以便在多個應用和領域都能使用;

  應用框架的重用,即為專用領域提供通用的或現成的基礎結構,以獲得最高級別的重用性。

(2)設計模式是對在某種環境中反覆出現的問題以及解決該問題的方案的描述,它比框架更抽象。

  框架可以用程式碼表示,也能直接執行或重複使用,而對模式而言只有實例才能用程式碼表示 。

  設計模式是比框架更小的元素。一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式卻可適用於各種應用。

  可以說,框架是軟體,而設計模式是軟體的知識。

(3)簡而言之:框架是大智慧,用來對軟體設計進行分工; 設計模式是小技巧,對具體問題提出解決方案,以提高程式碼複用率,降低耦合度。

5、總結

透過MVC的學習,我們要知道它是用來分割頁面和資料庫存取的框架,降低了兩者的耦合度,同時透過Controller的控制,也使系統更加的靈活,使我們的程式碼更健壯,復用性更強,但是凡事都有他適用的範圍,我們不能覺得它好,就敢三七二十一的瞎用,有時可能會適得其反,因此MVC的學習還需要我們以後慢慢探討。

相關免費推薦:程式設計影片課程

以上是什麼是mvc框架,怎麼認識的詳細內容。更多資訊請關注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

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

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能