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框架是什麼
mvc modal view controler 本來是存在於desktop程式中的,m是指資料模型,v是指使用者介面,c則是控制器。使用mvc的目的是將m和v的實現 分離,從而使同乙個程式可以使用不同的表現形式。比如一批統計資料你可以分別用柱狀圖 餅圖來表示。c存在的目的則是確保m和v的同步,一旦...
什麼是 MVC 模式?
mvc model view controller,模型 檢視 控制器模式 用於表示一種軟體架構模式。它把軟體系統分為三個基本部分 模型 model 檢視 view 和控制器 controller mvc 由 trygve reenskaug 提出,最早被應用在 smalltalk 80 環境中。模...
什麼是MVC 轉貼
模型 檢視 控制器 mvc 是xerox parc在八十年代為程式語言 alltalk 80發明的一種軟體設計模式,至今已被廣泛使用。最近幾年被推薦為sun公司j2ee平台的設計模式,並且受到越來越多的使用 coldfusion 和 php 的開發者的歡迎。模型 檢視 控制器模式是乙個有用的工具箱,...