亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

MVC框架

2019-11-14 19:22:30
字體:
來源:轉載
供稿:網友

MVC框架

MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controler)的縮寫,一種軟件設計典范,用于組織代碼用一種業務邏輯和數據顯示分離的方法,這個方法的假設前提是如果業務邏輯被聚集到一個部件里面,而且界面和用戶圍繞數據的交互能被改進和個性化定制而不需要重新編寫業務邏輯MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

 

基本信息

  • 外文名稱

    MVC框架

  • 全名

    Model View Controller

  • 產生時間

    1982年

 

  • 架構內容

    視圖,模型,控制器

  • 類別

    軟件構件模式

     

    簡介

    MVC開始是存在于桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。MVC框架MVC框架

    模型-視圖-控制器(MVC)是Xerox PARC在二十世紀八十年代為編程語言Smalltalk-80發明的一種軟件設計模式,已被廣泛使用。后來被推薦為Oracle旗下Sun公司java EE平臺的設計模式,并且受到越來越多的使用ColdFusion和php的開發者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。

    ?什么是MVC框架

    MVC (Model View Controller)本來是存在于Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

    模型-視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺的設計模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。

    MVC如何工作

    MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。

    視圖視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,xml/XSL,WML等一些標識語言和Web services.

    如何處理應用程序的界面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。

    模型模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理數據庫。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。

    控制器控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數據。

    現在我們總結MVC的處理過程,首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理,然后模型用業務邏輯來處理用戶的請求并返回數據,最后控制器用相應的視圖格式化模型返回的數據,并通過表示層呈現給用戶。

    為什么要使用 MVC

    大部分Web應用程序都是用像asp,PHP,或者CFML這樣的過程化語言來創建的。它們將像數據庫查詢語句這樣的數據層代碼和像HTML這樣的表示層代碼混在一起。經驗比較豐富的開發者會將數據從表示層分離開來,但這通常不是很容易做到的,它需要精心的計劃和不斷的嘗試。MVC從根本上強制性的將它們分開。盡管構造MVC應用程序需要一些額外的工作,但是它給我們帶來的好處是無庸質疑的。

    首先,最重要的一點是多個視圖能共享一個模型,正如我所提及的,現在需要用越來越多的方式來訪問你的應用程序。對此,其中一個解決之道是使用MVC,無論你的用戶想要Flash界面或是 WAP 界面;用一個模型就能處理它們。由于你已經將數據和業務規則從表示層分開,所以你可以最大化的重用你的代碼了。

    由于模型返回的數據沒有進行格式化,所以同樣的構件能被不同界面使用。例如,很多數據可能用HTML來表示,但是它們也有可能要用Macromedia Flash和WAP來表示。模型也有狀態管理和數據持久性處理的功能,例如,基于會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。

    因為模型是自包含的,并且與控制器和視圖相分離,所以很容易改變你的應用程序的數據層和業務規則。如果你想把你的數據庫從MySQL移植到Oracle,或者改變你的基于RDBMS數據源到LDAP,只需改變你的模型即可。一旦你正確的實現了模型,不管你的數據來自數據庫或是LDAP服務器,視圖將會正確的顯示它們。由于運用MVC的應用程序的三個部件是相互對立,改變其中一個不會影響其它兩個,所以依據這種設計思想你能構造良好的松偶合的構件。

    對我來說,控制器的也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然后選擇視圖將處理結果顯示給用戶。

    MVC的缺點

    MVC的缺點是由于它沒有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計劃,由于它的內部原理比較復雜,所以需要花費一些時間去思考。

    你將不得不花費相當可觀的時間去考慮如何將MVC運用到你的應用程序,同時由于模型和視圖要嚴格的分離,這樣也給調試應用程序帶來了一定的困難。每個構件在使用之前都需要經過徹底的測試。一旦你的構件經過了測試,你就可以毫無顧忌的重用它們了。

    根據我個人經驗,由于我們將一個應用程序分成了三個部件,所以使用MVC同時也意味著你將要管理比以前更多的文件,這一點是顯而易見的。這樣好像我們的工作量增加了,但是請記住這比起它所能帶給我們的好處是不值一提。

    MVC并不適合小型甚至中等規模的應用程序,花費大量時間將MVC應用到規模并不是很大的應用程序通常會得不償失。

    MVC設計模式是一個很好創建軟件的途徑,它所提倡的一些原則,像內容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構件,你可能需要重新思考你的應用程序,尤其是應用程序的構架方面。如果你肯接受MVC,并且有能力應付它所帶來的額外的工作和復雜性,MVC將會使你的軟件在健壯性,代碼重用和結構方面提升一個新的臺階。

     


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产一区二区三区久久狼黑人| 亚洲欧美综合区自拍另类| 另类专区欧美制服同性| 45www国产精品网站| 538国产精品一区二区免费视频| 夜夜嗨av一区二区三区免费区| 91夜夜揉人人捏人人添红杏| 国产成人高潮免费观看精品| 在线播放国产一区中文字幕剧情欧美| 欧美性极品xxxx做受| 国产日韩欧美夫妻视频在线观看| 欧洲成人免费aa| 7777精品久久久久久| 久久这里有精品| 色偷偷偷亚洲综合网另类| 亚洲偷欧美偷国内偷| 国产精品成人品| 日韩欧美精品网址| 国产在线拍揄自揄视频不卡99| 2019中文字幕全在线观看| 中文在线资源观看视频网站免费不卡| 伊人久久久久久久久久| 美日韩精品免费视频| 国产精彩精品视频| 欧美色道久久88综合亚洲精品| 欧美日韩精品二区| 亚洲电影免费观看| 成人乱人伦精品视频在线观看| 国产激情久久久| 亚洲影院污污.| 亚洲国产精品成人va在线观看| 精品久久久久国产| 九九热这里只有精品6| 91精品视频一区| 91网站在线免费观看| 亚洲女性裸体视频| 啊v视频在线一区二区三区| 91超碰caoporn97人人| 久久天天躁狠狠躁夜夜躁| 91精品久久久久久久久久久久久久| 国产精品海角社区在线观看| 亚洲黄一区二区| 日韩av在线电影网| 555www成人网| 亚洲石原莉奈一区二区在线观看| 日韩电影中文 亚洲精品乱码| 久久久成人精品视频| 亚洲一区二区国产| 日韩欧美国产视频| 亚洲va欧美va在线观看| 欧美激情aaaa| 欧美中文字幕在线播放| 亚洲精品资源美女情侣酒店| 亚洲人免费视频| 国产精品免费小视频| 国产视频精品xxxx| 国产精品看片资源| 亚洲韩国日本中文字幕| 亚洲缚视频在线观看| 中文字幕视频一区二区在线有码| 亚洲视频在线观看网站| 日韩经典一区二区三区| 亚洲欧美日本另类| 久久综合伊人77777蜜臀| 日韩在线播放av| 日韩成人激情在线| 国产精品久久久久久久app| 亚洲爱爱爱爱爱| 97人洗澡人人免费公开视频碰碰碰| 中文字幕欧美日韩va免费视频| 国产69精品久久久久9| 亚洲精品日韩丝袜精品| 成人羞羞国产免费| 日韩视频亚洲视频| 在线观看久久av| 97在线视频免费播放| 亚洲男人天堂2023| 国产精品91久久久| 国产精品久久久久一区二区| 97在线看免费观看视频在线观看| 久久久天堂国产精品女人| 亚洲老头老太hd| 韩国19禁主播vip福利视频| www.日韩免费| 欧美高清理论片| 欧美在线亚洲一区| 日本中文字幕成人| 成人亚洲综合色就1024| 视频在线观看一区二区| 亚洲国产成人精品一区二区| 亚洲综合在线播放| 麻豆国产精品va在线观看不卡| 91久久在线视频| 亚洲精品久久久久久久久久久久| 国产精品视频一区二区三区四| 色无极影院亚洲| 奇米影视亚洲狠狠色| 欧美在线精品免播放器视频| 亚洲精品电影在线观看| 久久免费在线观看| 日日骚久久av| 成人激情视频免费在线| 欧美亚洲另类制服自拍| 91免费综合在线| 国产日本欧美一区| 久久人人爽人人爽爽久久| 久久精品99国产精品酒店日本| 日韩精品免费综合视频在线播放| 亚洲自拍在线观看| 在线观看欧美www| 国产精品观看在线亚洲人成网| 精品国产区一区二区三区在线观看| 亚洲激情视频在线观看| 欧美在线一区二区三区四| 亚洲午夜久久久影院| 国产精品视频中文字幕91| 日韩免费观看高清| 欧美激情一二区| 成人中文字幕+乱码+中文字幕| 国产精品精品一区二区三区午夜版| 国产精品亚洲欧美导航| yellow中文字幕久久| 欧美性猛交丰臀xxxxx网站| 成人精品视频久久久久| 国产精品久久久久久久电影| 中文字幕精品—区二区| 日韩欧美精品网站| 成人激情视频在线播放| 91久久精品国产91久久性色| 欧美福利视频在线观看| 国产精品揄拍500视频| 亚洲色图在线观看| 国产一区二区三区在线免费观看| 超碰精品一区二区三区乱码| 亚洲国产91精品在线观看| 亚洲欧美激情视频| 欧美精品一区二区三区国产精品| 日韩中文字幕免费| 成人免费看黄网站| 久久视频国产精品免费视频在线| 亚洲精品影视在线观看| 日韩视频在线观看免费| 国产在线观看不卡| 欧美日韩一区二区精品| 亚洲肉体裸体xxxx137| 久久久免费在线观看| 国产va免费精品高清在线| 国产日韩欧美夫妻视频在线观看| 国产精品久久久久久av福利软件| 亚洲人成免费电影| 国产亚洲美女久久| 5566日本婷婷色中文字幕97| 久久视频在线播放| 久久久精品一区二区| 一区二区福利视频| 亚洲天堂成人在线| 不卡av在线播放| 久久国产精品久久久久| 91精品国产综合久久久久久久久| 欧美成人精品xxx| 欧美日本亚洲视频| 国产一区二区日韩| 最近2019中文字幕第三页视频| 欧美丰满少妇xxxx|