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

什麼是mvc框架,怎麼認識

coldplay.xixi
coldplay.xixi原創
2020-11-16 14:11:4413421瀏覽

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