2023-11-13 分類: 網(wǎng)站建設
MVC 是一種使用 MVC(View -View-)設計來創(chuàng)建 Web 應用程序的模式:
(模型)代表應用程序的核心(如數(shù)據(jù)庫記錄列表)。
查看顯示數(shù)據(jù)(數(shù)據(jù)庫記錄)。
(控制器)處理輸入(寫入數(shù)據(jù)庫記錄)。
MVC 模型還提供對 HTML、CSS 和 HTML 的完全控制。
(模型)是應用程序的一部分,用于處理應用程序的數(shù)據(jù)邏輯。
通常模型對象負責訪問數(shù)據(jù)庫中的數(shù)據(jù)。
視圖(view)是應用程序中處理數(shù)據(jù)顯示的部分。
通常視圖是基于模型數(shù)據(jù)創(chuàng)建的。
(控制器)是應用程序中處理用戶交互的部分。
通??刂破髫撠煆囊晥D中讀取數(shù)據(jù)php高級程序設計:模式,框架與測試,控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。
MVC 分層有助于管理復雜的應用程序,因為您可以一次專注于一個方面。例如,您可以專注于視圖設計而不依賴于業(yè)務邏輯。它還使應用程序測試更容易。
MVC 分層還簡化了組開發(fā)。不同的開發(fā)人員可以同時開發(fā)視圖、控制器邏輯和業(yè)務邏輯。
框架和設計模式的區(qū)別
很多程序員經(jīng)常把框架模式和設計模式混為一談,認為MVC是一種設計模式。事實上,它們是完全不同的概念。
框架和設計模式這兩個概念總是容易混淆。事實上,它們之間還是有區(qū)別的??蚣芡ǔJ谴a重用,設計模式是設計重用,架構介于兩者之間。部分代碼重用,部分設計重用,有時分析可以重用。
軟件生產(chǎn)中的重用分為三個層次:內(nèi)部重用,即可以在同一個應用程序中公開使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,使其可以在多個應用和領域中使用;應用程序框架的復用是為特殊領域提供通用或現(xiàn)成的基礎設施,以獲得最高級別的復用性。
框架和設計模式雖然相似,但本質(zhì)上是不同的。設計模式是對在一定環(huán)境中重復出現(xiàn)的問題的描述以及對問題的解決方案。它比框架更抽象;一個框架可以用代碼表達,也可以直接執(zhí)行或重用。對于模式,只能使用示例。用代碼表示;
設計模式是比框架更小的元素。一個框架通常包含一個或多個設計模式。該框架始終針對特定的應用領域,但相同的模式可以應用于各種應用。可以說,框架就是軟件,設計模式就是軟件的知識。
框架模式有哪些?
MVC、MTV、MVp、CbD、ORM等;
有哪些框架?
C++語言QT、MFC、gtk、Java語言SSH、SSI、pHp語言(MVC模式)、語言(MTV模式)等
有哪些設計模式?
工廠模式、適配器模式、策略模式等。
總之:框架是大智慧,用來劃分軟件設計;設計模式是小技巧,針對具體問題提出解決方案,以提高代碼復用率,降低耦合度。
基于 Web 的 MVC 在 J2EE 世界中得到了空前的繁榮。幾乎每隔一兩周就會在 TTS 網(wǎng)站上發(fā)布一個新的 MVC 框架。更好的 MVC 和舊的。新興的MVC框架包括MVC、JSF等。
其中大部分是知名團隊的作品,也有一些邊緣團隊的作品,也相當不錯,比如,等等,這些框架提供了很好的分層能力。在實現(xiàn)良好的MVC分離的基礎上,通過提供一些現(xiàn)成的輔助類庫也促進了生產(chǎn)效率的提升。
MVC特點:
優(yōu)勢
低耦合
視圖層和業(yè)務層分離,允許改變視圖層代碼而無需重新編譯模型和控制器代碼。同樣,對應用程序的業(yè)務流程或業(yè)務規(guī)則的更改只需要更改 MVC 模型層。由于模型與控制器和視圖分離,因此很容易更改應用程序的數(shù)據(jù)層和業(yè)務規(guī)則。
模型是自包含的,與控制器和視圖分離,因此很容易改變應用程序的數(shù)據(jù)層和業(yè)務規(guī)則。如果將數(shù)據(jù)庫遷移到LDAp或?qū)?shù)據(jù)源更改為LDAp,則只需更改模型即可。
一旦模型正確實現(xiàn),無論數(shù)據(jù)來自數(shù)據(jù)庫還是 LDAp 服務器,視圖都會正確顯示它們。由于使用MVC的應用程序的三個組件是相互獨立的,改變其中一個不會影響另外兩個,因此可以基于這種設計思想構建一個良好的松耦合組件。
高復用性
隨著技術的不斷進步,訪問應用程序的方式也越來越多。MVC模式允許使用不同風格的各種視圖訪問同一個服務器端代碼,因為多個視圖可以共享一個模型,其中包括任何WEb(HTTp)瀏覽器或無線瀏覽器(wap)。
例如,用戶可以通過電腦或手機訂購某種產(chǎn)品。雖然訂購方式不同,但訂購產(chǎn)品的加工方式是一樣的。由于模型返回的數(shù)據(jù)沒有格式化,同一個組件可以被不同的接口使用。
比如很多數(shù)據(jù)可能用HTML表示,但也可能用WAp表示。這些表示所需的命令是改變視圖層的實現(xiàn)方式php高級程序設計:模式,框架與測試,而控制層和模型層則不需要改變。由于數(shù)據(jù)和業(yè)務規(guī)則已經(jīng)與表示層分離,代碼重用可以大化。該模型還具有狀態(tài)管理和數(shù)據(jù)持久化處理的功能。
低生命周期成本
MVC 減少了開發(fā)和維護用戶界面的技術含量。
快速部署
使用MVC模型可以大大減少開發(fā)時間。它使程序員(Java 開發(fā)人員)能夠?qū)W⒂跇I(yè)務邏輯,并使界面程序員(HTML 和 JSp 開發(fā)人員)能夠?qū)W⒂诒硎尽?/p>
高可維護性
將視圖層和業(yè)務邏輯層分離,也使 Web 應用程序更易于維護和修改。
有利的軟件工程管理
由于不同層各司其職,因此每一層的不同應用具有一些相同的特點,有利于通過工程和工具對程序代碼進行管理??刂破鬟€提供了一個好處,就是可以使用控制器連接不同的模型和視圖來完成用戶的需求,這樣控制器就可以為構建應用程序提供強大的手段。
給定一些可復用的模型和視圖,控制器可以根據(jù)用戶的需要選擇模型進行處理,然后選擇視圖將處理結果展示給用戶。
缺點
沒有明確的定義
完全理解MVC并不容易。MVC的使用需要仔細規(guī)劃,因為它的內(nèi)部原理比較復雜,所以需要花一些時間去思考。同時,由于模型和視圖必須嚴格分離,這也給應用調(diào)試帶來了一定的困難。每個組件在使用前都需要經(jīng)過徹底的測試。
不適合中小型應用
花費大量時間將 MVC 應用于不是很大的應用程序通常會超過收益。
增加系統(tǒng)結構和實現(xiàn)的復雜性
對于簡單的界面,嚴格遵循MVC,將模型、視圖和控制器分開,會增加結構的復雜度,可能會產(chǎn)生過多的更新操作,降低運行效率。
視圖和控制器連接太緊
視圖和控制器彼此分離,但它們是密切相關的組件。視圖沒有控制器,其應用非常有限,反之亦然,這阻礙了它們的獨立重用。
查看對模型數(shù)據(jù)的低效訪問
根據(jù)模型操作界面的不同,可能需要多次調(diào)用視圖才能獲得足夠的顯示數(shù)據(jù)。不必要地頻繁訪問未更改的數(shù)據(jù)也會影響操作性能。
一般高級界面工具或構建器不支持模式
適配這些工具來滿足MVC的需要以及建立單獨的組件的成本非常高,這會給MVC的使用帶來困難。
如何選擇一個好的框架應用到項目中,對項目的效率和復用性至關重要。
報告/反饋
網(wǎng)頁題目:MVC是一種使用MVC(View模型-視圖-控制器)
路徑分享:http://chinadenli.net/news28/294328.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、用戶體驗、移動網(wǎng)站建設、品牌網(wǎng)站制作、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容