mvc框架一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個組件里,在改進和個性化定制界面的及用戶交互的時候,不需要重新編寫業(yè)務(wù)邏輯。
創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為修水企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),修水網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
1、什么是mvc
Model View Controller,是模型-視圖-控制器的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個組件里,在改進和個性化定制界面的及用戶交互的時候,不需要重新編寫業(yè)務(wù)邏輯。mvc用于映射傳統(tǒng)的輸入、處理、輸出功能在一個邏輯的圖形用戶界面的結(jié)構(gòu)中。
mvc就是類似三層的一種架構(gòu),主要采用封裝(分層)的思想,來降低耦合度,從而使我們的系統(tǒng)更靈活,擴展性更好。
model是應(yīng)用程序中用于處理數(shù)據(jù)邏輯的部分。通常模型對象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。
view是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)數(shù)據(jù)模型創(chuàng)建的。
controller是應(yīng)用程序中處理數(shù)據(jù)交互的部分。通??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送。
2、mvc的優(yōu)點
(1)多個視圖共享一個模型,大大提高代碼的可重用性。
(2)三個模塊相互獨立,改變其中一個不會影響其他兩,所以依據(jù)這種設(shè)計模式能構(gòu)建良好的松耦合性的組件。
(3)控制器提高了應(yīng)用程序的靈活性和可控制性??刂破骺梢杂脕磉B接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構(gòu)造應(yīng)用程序提高強有力的手段。
3、mvc的缺點
(1)增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性。
對于簡單頁面,嚴(yán)格遵循mvc,使模型、視圖與控制器分離,會增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運行效率。
(2)視圖與控制器過于緊密的連接。
視圖與控制器是相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。
(3)視圖對模型數(shù)據(jù)的低效率訪問。
依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)。對未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能。
(4)目前,一些高級的界面工具或構(gòu)造器不支持mvc。
改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難。
綜上,對于開發(fā)存在大量用戶界面,并且業(yè)務(wù)邏輯復(fù)雜的大型應(yīng)用程序,MVC將會使你的軟件在健壯性、代碼重用和結(jié)構(gòu)方面上一個新的臺階。盡管在最初構(gòu)建MVC框架時會花費一定的工作量,但從長遠(yuǎn)角度看,它會大大提高后期軟件開發(fā)的效率。所以我們在具體適用時,要綜合考慮其適用范圍,
4、框架vs設(shè)計模式
(1)框架通常是代碼重用,而設(shè)計模式是設(shè)計重用,
架構(gòu)則介于兩者之間,部分代碼重用,部分設(shè)計重用,有時分析也可重用。
在軟件生產(chǎn)中有三種級別的重用:
內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;
代碼重用,即將通用模塊組合成庫或工具集,以便在多個應(yīng)用和領(lǐng)域都能使用;
應(yīng)用框架的重用,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),以獲得高級別的重用性。
(2)設(shè)計模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象。
框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對模式而言只有實例才能用代碼表示 。
設(shè)計模式是比框架更小的元素。一個框架中往往含有一個或多個設(shè)計模式,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用。
可以說,框架是軟件,而設(shè)計模式是軟件的知識。
(3)簡而言之:框架是大智慧,用來對軟件設(shè)計進行分工; 設(shè)計模式是小技巧,對具體問題提出解決方案,以提高代碼復(fù)用率,降低耦合度。
5、總結(jié)
通過MVC的學(xué)習(xí),我們要知道它是用來分割頁面和數(shù)據(jù)庫訪問的框架,降低了兩者的耦合度,同時通過Controller的控制,也使系統(tǒng)更加的靈活,使我們的代碼更健壯,復(fù)用性更強,但是凡事都有他適用的范圍,我們不能覺得它好,就敢三七二十一的瞎用,有時可能會適得其反,因此MVC的學(xué)習(xí)還需要我們以后慢慢探討。
相關(guān)免費推薦:編程視頻課程
網(wǎng)站標(biāo)題:什么是mvc框架,怎么認(rèn)識
文章出自:http://jinyejixie.com/article26/cghhjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、ChatGPT、手機網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站改版、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)