MVC是一種使用MVC(View模型-視圖-控制器)

2023-11-13    分類: 網(wǎng)站建設(shè)

MVC 是一種使用 MVC(View -View-)設(shè)計(jì)來創(chuàng)建 Web 應(yīng)用程序的模式:

(模型)代表應(yīng)用程序的核心(如數(shù)據(jù)庫(kù)記錄列表)。

查看顯示數(shù)據(jù)(數(shù)據(jù)庫(kù)記錄)。

(控制器)處理輸入(寫入數(shù)據(jù)庫(kù)記錄)。

MVC 模型還提供對(duì) HTML、CSS 和 HTML 的完全控制。

(模型)是應(yīng)用程序的一部分,用于處理應(yīng)用程序的數(shù)據(jù)邏輯。

通常模型對(duì)象負(fù)責(zé)訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

視圖(view)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。

通常視圖是基于模型數(shù)據(jù)創(chuàng)建的。

(控制器)是應(yīng)用程序中處理用戶交互的部分。

通??刂破髫?fù)責(zé)從視圖中讀取數(shù)據(jù)php高級(jí)程序設(shè)計(jì):模式,框架與測(cè)試,控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。

MVC 分層有助于管理復(fù)雜的應(yīng)用程序,因?yàn)槟梢砸淮螌W⒂谝粋€(gè)方面。例如,您可以專注于視圖設(shè)計(jì)而不依賴于業(yè)務(wù)邏輯。它還使應(yīng)用程序測(cè)試更容易。

MVC 分層還簡(jiǎn)化了組開發(fā)。不同的開發(fā)人員可以同時(shí)開發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。

框架和設(shè)計(jì)模式的區(qū)別

很多程序員經(jīng)常把框架模式和設(shè)計(jì)模式混為一談,認(rèn)為MVC是一種設(shè)計(jì)模式。事實(shí)上,它們是完全不同的概念。

框架和設(shè)計(jì)模式這兩個(gè)概念總是容易混淆。事實(shí)上,它們之間還是有區(qū)別的??蚣芡ǔJ谴a重用,設(shè)計(jì)模式是設(shè)計(jì)重用,架構(gòu)介于兩者之間。部分代碼重用,部分設(shè)計(jì)重用,有時(shí)分析可以重用。

軟件生產(chǎn)中的重用分為三個(gè)層次:內(nèi)部重用,即可以在同一個(gè)應(yīng)用程序中公開使用的抽象塊;代碼重用,即將通用模塊組合成庫(kù)或工具集,使其可以在多個(gè)應(yīng)用和領(lǐng)域中使用;應(yīng)用程序框架的復(fù)用是為特殊領(lǐng)域提供通用或現(xiàn)成的基礎(chǔ)設(shè)施,以獲得最高級(jí)別的復(fù)用性。

框架和設(shè)計(jì)模式雖然相似,但本質(zhì)上是不同的。設(shè)計(jì)模式是對(duì)在一定環(huán)境中重復(fù)出現(xiàn)的問題的描述以及對(duì)問題的解決方案。它比框架更抽象;一個(gè)框架可以用代碼表達(dá),也可以直接執(zhí)行或重用。對(duì)于模式,只能使用示例。用代碼表示;

設(shè)計(jì)模式是比框架更小的元素。一個(gè)框架通常包含一個(gè)或多個(gè)設(shè)計(jì)模式。該框架始終針對(duì)特定的應(yīng)用領(lǐng)域,但相同的模式可以應(yīng)用于各種應(yīng)用。可以說,框架就是軟件,設(shè)計(jì)模式就是軟件的知識(shí)。

框架模式有哪些?

MVC、MTV、MVp、CbD、ORM等;

有哪些框架?

C++語(yǔ)言QT、MFC、gtk、Java語(yǔ)言SSH、SSI、pHp語(yǔ)言(MVC模式)、語(yǔ)言(MTV模式)等

有哪些設(shè)計(jì)模式?

工廠模式、適配器模式、策略模式等。

總之:框架是大智慧,用來劃分軟件設(shè)計(jì);設(shè)計(jì)模式是小技巧,針對(duì)具體問題提出解決方案,以提高代碼復(fù)用率,降低耦合度。

基于 Web 的 MVC 在 J2EE 世界中得到了空前的繁榮。幾乎每隔一兩周就會(huì)在 TTS 網(wǎng)站上發(fā)布一個(gè)新的 MVC 框架。更好的 MVC 和舊的。新興的MVC框架包括MVC、JSF等。

其中大部分是知名團(tuán)隊(duì)的作品,也有一些邊緣團(tuán)隊(duì)的作品,也相當(dāng)不錯(cuò),比如,等等,這些框架提供了很好的分層能力。在實(shí)現(xiàn)良好的MVC分離的基礎(chǔ)上,通過提供一些現(xiàn)成的輔助類庫(kù)也促進(jìn)了生產(chǎn)效率的提升。

MVC特點(diǎn):

優(yōu)勢(shì)

低耦合

視圖層和業(yè)務(wù)層分離,允許改變視圖層代碼而無需重新編譯模型和控制器代碼。同樣,對(duì)應(yīng)用程序的業(yè)務(wù)流程或業(yè)務(wù)規(guī)則的更改只需要更改 MVC 模型層。由于模型與控制器和視圖分離,因此很容易更改應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。

模型是自包含的,與控制器和視圖分離,因此很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。如果將數(shù)據(jù)庫(kù)遷移到LDAp或?qū)?shù)據(jù)源更改為L(zhǎng)DAp,則只需更改模型即可。

一旦模型正確實(shí)現(xiàn),無論數(shù)據(jù)來自數(shù)據(jù)庫(kù)還是 LDAp 服務(wù)器,視圖都會(huì)正確顯示它們。由于使用MVC的應(yīng)用程序的三個(gè)組件是相互獨(dú)立的,改變其中一個(gè)不會(huì)影響另外兩個(gè),因此可以基于這種設(shè)計(jì)思想構(gòu)建一個(gè)良好的松耦合組件。

高復(fù)用性

隨著技術(shù)的不斷進(jìn)步,訪問應(yīng)用程序的方式也越來越多。MVC模式允許使用不同風(fēng)格的各種視圖訪問同一個(gè)服務(wù)器端代碼,因?yàn)槎鄠€(gè)視圖可以共享一個(gè)模型,其中包括任何WEb(HTTp)瀏覽器或無線瀏覽器(wap)。

例如,用戶可以通過電腦或手機(jī)訂購(gòu)某種產(chǎn)品。雖然訂購(gòu)方式不同,但訂購(gòu)產(chǎn)品的加工方式是一樣的。由于模型返回的數(shù)據(jù)沒有格式化,同一個(gè)組件可以被不同的接口使用。

比如很多數(shù)據(jù)可能用HTML表示,但也可能用WAp表示。這些表示所需的命令是改變視圖層的實(shí)現(xiàn)方式php高級(jí)程序設(shè)計(jì):模式,框架與測(cè)試,而控制層和模型層則不需要改變。由于數(shù)據(jù)和業(yè)務(wù)規(guī)則已經(jīng)與表示層分離,代碼重用可以大化。該模型還具有狀態(tài)管理和數(shù)據(jù)持久化處理的功能。

低生命周期成本

MVC 減少了開發(fā)和維護(hù)用戶界面的技術(shù)含量。

快速部署

使用MVC模型可以大大減少開發(fā)時(shí)間。它使程序員(Java 開發(fā)人員)能夠?qū)W⒂跇I(yè)務(wù)邏輯,并使界面程序員(HTML 和 JSp 開發(fā)人員)能夠?qū)W⒂诒硎尽?/p>

高可維護(hù)性

將視圖層和業(yè)務(wù)邏輯層分離,也使 Web 應(yīng)用程序更易于維護(hù)和修改。

有利的軟件工程管理

由于不同層各司其職,因此每一層的不同應(yīng)用具有一些相同的特點(diǎn),有利于通過工程和工具對(duì)程序代碼進(jìn)行管理??刂破鬟€提供了一個(gè)好處,就是可以使用控制器連接不同的模型和視圖來完成用戶的需求,這樣控制器就可以為構(gòu)建應(yīng)用程序提供強(qiáng)大的手段。

給定一些可復(fù)用的模型和視圖,控制器可以根據(jù)用戶的需要選擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果展示給用戶。

缺點(diǎn)

沒有明確的定義

完全理解MVC并不容易。MVC的使用需要仔細(xì)規(guī)劃,因?yàn)樗膬?nèi)部原理比較復(fù)雜,所以需要花一些時(shí)間去思考。同時(shí),由于模型和視圖必須嚴(yán)格分離,這也給應(yīng)用調(diào)試帶來了一定的困難。每個(gè)組件在使用前都需要經(jīng)過徹底的測(cè)試。

不適合中小型應(yīng)用

花費(fèi)大量時(shí)間將 MVC 應(yīng)用于不是很大的應(yīng)用程序通常會(huì)超過收益。

增加系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性

對(duì)于簡(jiǎn)單的界面,嚴(yán)格遵循MVC,將模型、視圖和控制器分開,會(huì)增加結(jié)構(gòu)的復(fù)雜度,可能會(huì)產(chǎn)生過多的更新操作,降低運(yùn)行效率。

視圖和控制器連接太緊

視圖和控制器彼此分離,但它們是密切相關(guān)的組件。視圖沒有控制器,其應(yīng)用非常有限,反之亦然,這阻礙了它們的獨(dú)立重用。

查看對(duì)模型數(shù)據(jù)的低效訪問

根據(jù)模型操作界面的不同,可能需要多次調(diào)用視圖才能獲得足夠的顯示數(shù)據(jù)。不必要地頻繁訪問未更改的數(shù)據(jù)也會(huì)影響操作性能。

一般高級(jí)界面工具或構(gòu)建器不支持模式

適配這些工具來滿足MVC的需要以及建立單獨(dú)的組件的成本非常高,這會(huì)給MVC的使用帶來困難。

如何選擇一個(gè)好的框架應(yīng)用到項(xiàng)目中,對(duì)項(xiàng)目的效率和復(fù)用性至關(guān)重要。

報(bào)告/反饋

網(wǎng)頁(yè)題目:MVC是一種使用MVC(View模型-視圖-控制器)
路徑分享:http://www.bm7419.com/news28/294328.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、用戶體驗(yàn)、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作