走到尽头的技术-MVC
生活随笔
收集整理的這篇文章主要介紹了
走到尽头的技术-MVC
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
MVC技術(shù)是一種WebApplication設(shè)計(jì)技術(shù),相比于傳統(tǒng)Web應(yīng)用程序,MVC可以使程序結(jié)構(gòu)更加清晰,他采用 Model,View,Controller 來(lái)管理和架構(gòu)我們的Web資源,將不同的請(qǐng)求(request)導(dǎo)向不同的Controller(Strutes 中,這個(gè)控制器被稱(chēng)作 Action),不同的View(JSP,ASP,ASP.NET )頁(yè)面負(fù)責(zé)將服務(wù)器控制器(Action)處理的結(jié)果顯示出來(lái)。Modena則是一個(gè)簡(jiǎn)單·基本的javabean類(lèi)。
????? MVC的核心優(yōu)勢(shì),在于將請(qǐng)求和視圖分開(kāi),使得后臺(tái)開(kāi)發(fā)人員可以專(zhuān)心致志的完善業(yè)務(wù)實(shí)現(xiàn),前端工程師則盡其所能為用戶(hù)提供更良好的用戶(hù)體驗(yàn)。這種設(shè)計(jì)模式,相對(duì)于之前用JSP+Javabean來(lái)處理業(yè)務(wù)和呈現(xiàn),技術(shù)上幾乎是一次飛躍,突然之間,好像大家都愛(ài)上MVC了,不光是Java程序員,甚至微軟也不甘落后,很快推出了ASP.NET 版本的MVC實(shí)現(xiàn),突然之間MVC的春天來(lái)了。
但是,IT科技的發(fā)展是如此之迅速,今天,回過(guò)頭來(lái)重新審視MVC,至少有如下理由證明MVC已經(jīng)開(kāi)始落后于時(shí)代了。
????? 異步提交,正在逐漸取代同步提交,在MVC技術(shù)發(fā)展的黃金時(shí)期。,也就是2008年左右,另外一種可以實(shí)現(xiàn)更好用戶(hù)體驗(yàn),的 技術(shù)逐漸出現(xiàn)在我們的視野中,就是大名鼎鼎的Ajax(比較著名的例子是GMail),Ajax技術(shù)并不是單一一種技術(shù),而是javascript技術(shù)(負(fù)責(zé)動(dòng)態(tài)網(wǎng)頁(yè))、DOM技術(shù)(負(fù)責(zé)呈現(xiàn)數(shù)據(jù))、XMLHttpRequest技術(shù)(負(fù)責(zé)從服務(wù)器端得到數(shù)據(jù))、CSS(負(fù)責(zé)位頁(yè)面數(shù)據(jù)指定樣式)的綜合運(yùn)用,通過(guò)這種技術(shù),前端表現(xiàn)成為開(kāi)發(fā)人員可以發(fā)揮更大影響的地方,之前,在MVC時(shí)代和之前的JSP+Javabean時(shí)代,開(kāi)發(fā)人員一般是不直接參與到頁(yè)面的設(shè)計(jì)中來(lái)的,他們一般會(huì)使用頁(yè)面設(shè)計(jì)人員提供的模板,或者,將完成好的Web應(yīng)用直接提交給頁(yè)面設(shè)計(jì)人員來(lái)優(yōu)化,這樣做,看似是完美的勞動(dòng)分工,實(shí)際上,卻是將開(kāi)發(fā)人員和用戶(hù)體驗(yàn)分離開(kāi)來(lái),相對(duì)于專(zhuān)業(yè)的頁(yè)面設(shè)計(jì)人員,更了解需求的開(kāi)發(fā)人員實(shí)際上更了解用戶(hù)在頁(yè)面上想要、需要看到東西。在MVC架構(gòu)中應(yīng)用Ajax技術(shù),是可以的,但是這種實(shí)現(xiàn)單純只是技術(shù)上可行,但是,意義卻不大,原因有兩點(diǎn):
????? 1,采用了Ajax架構(gòu)之后,需要呈現(xiàn)數(shù)據(jù)的頁(yè)面已經(jīng)不像之前的那么多了因?yàn)橐粋€(gè)頁(yè)面已經(jīng)可以呈現(xiàn)更多的數(shù)據(jù)了,而且是以一種更加友好的方式來(lái)呈現(xiàn),,實(shí)際上,我們可能只需要一個(gè)index.html 或許連 index.jsp 或者index.aspx 都不需要。
????? 2,采用了Ajax之后,已經(jīng)不需要多少Action來(lái)處理數(shù)據(jù)了,這并不是說(shuō)數(shù)據(jù)不需要后端處理和得到,而是說(shuō),異步刷新的頁(yè)面無(wú)法得到用Action處理的數(shù)據(jù),MVC中,頁(yè)面數(shù)據(jù)大部分是通過(guò)request來(lái)傳遞的,javascript是沒(méi)有辦法直接得到request中的數(shù)據(jù)。
????? Ajax技術(shù)產(chǎn)生的影響,不止是將MVC,一種才誕生幾年,而且如日中天的技術(shù)推到盡頭,而且,使得很多于此相關(guān)的技術(shù)都變得邊緣化了,比如,于JSP相關(guān)的若干技術(shù) ,諸如 jslt技術(shù),也就是jsp頁(yè)面標(biāo)簽技術(shù)
皮之不存,毛將焉附,JSP技術(shù)都變得如此邊緣,基于JSP技術(shù)的相關(guān)技術(shù),就風(fēng)光不再了。
????? 雖然以JSP為核心的同步刷新技術(shù),已經(jīng)無(wú)法提供更出色的用戶(hù)體驗(yàn),但是這些技術(shù),在用戶(hù)體驗(yàn)要求不是很高的地方,比如,各種各樣的MIS(各種各樣的OA等等)系統(tǒng)中,依然非常有價(jià)值,并且將繼續(xù)保持旺盛的生命力,畢竟,使用異步刷新技術(shù),對(duì)開(kāi)發(fā)人員的要求比較高,因?yàn)殚_(kāi)發(fā)人員不僅需要java或者C# ,還需要CSS,Javascript方面的知識(shí),而且,代碼量也遠(yuǎn)高于使用同步刷新完成的頁(yè)面,同時(shí),在同步刷新及MVC方面,已經(jīng)有了非常豐富的API,比如Struct2 和Spring MVC。但是,新技術(shù)已經(jīng)來(lái)了,就讓我們放開(kāi)懷抱去擁抱這項(xiàng)技術(shù)吧。
???
????? MVC的核心優(yōu)勢(shì),在于將請(qǐng)求和視圖分開(kāi),使得后臺(tái)開(kāi)發(fā)人員可以專(zhuān)心致志的完善業(yè)務(wù)實(shí)現(xiàn),前端工程師則盡其所能為用戶(hù)提供更良好的用戶(hù)體驗(yàn)。這種設(shè)計(jì)模式,相對(duì)于之前用JSP+Javabean來(lái)處理業(yè)務(wù)和呈現(xiàn),技術(shù)上幾乎是一次飛躍,突然之間,好像大家都愛(ài)上MVC了,不光是Java程序員,甚至微軟也不甘落后,很快推出了ASP.NET 版本的MVC實(shí)現(xiàn),突然之間MVC的春天來(lái)了。
但是,IT科技的發(fā)展是如此之迅速,今天,回過(guò)頭來(lái)重新審視MVC,至少有如下理由證明MVC已經(jīng)開(kāi)始落后于時(shí)代了。
????? 異步提交,正在逐漸取代同步提交,在MVC技術(shù)發(fā)展的黃金時(shí)期。,也就是2008年左右,另外一種可以實(shí)現(xiàn)更好用戶(hù)體驗(yàn),的 技術(shù)逐漸出現(xiàn)在我們的視野中,就是大名鼎鼎的Ajax(比較著名的例子是GMail),Ajax技術(shù)并不是單一一種技術(shù),而是javascript技術(shù)(負(fù)責(zé)動(dòng)態(tài)網(wǎng)頁(yè))、DOM技術(shù)(負(fù)責(zé)呈現(xiàn)數(shù)據(jù))、XMLHttpRequest技術(shù)(負(fù)責(zé)從服務(wù)器端得到數(shù)據(jù))、CSS(負(fù)責(zé)位頁(yè)面數(shù)據(jù)指定樣式)的綜合運(yùn)用,通過(guò)這種技術(shù),前端表現(xiàn)成為開(kāi)發(fā)人員可以發(fā)揮更大影響的地方,之前,在MVC時(shí)代和之前的JSP+Javabean時(shí)代,開(kāi)發(fā)人員一般是不直接參與到頁(yè)面的設(shè)計(jì)中來(lái)的,他們一般會(huì)使用頁(yè)面設(shè)計(jì)人員提供的模板,或者,將完成好的Web應(yīng)用直接提交給頁(yè)面設(shè)計(jì)人員來(lái)優(yōu)化,這樣做,看似是完美的勞動(dòng)分工,實(shí)際上,卻是將開(kāi)發(fā)人員和用戶(hù)體驗(yàn)分離開(kāi)來(lái),相對(duì)于專(zhuān)業(yè)的頁(yè)面設(shè)計(jì)人員,更了解需求的開(kāi)發(fā)人員實(shí)際上更了解用戶(hù)在頁(yè)面上想要、需要看到東西。在MVC架構(gòu)中應(yīng)用Ajax技術(shù),是可以的,但是這種實(shí)現(xiàn)單純只是技術(shù)上可行,但是,意義卻不大,原因有兩點(diǎn):
????? 1,采用了Ajax架構(gòu)之后,需要呈現(xiàn)數(shù)據(jù)的頁(yè)面已經(jīng)不像之前的那么多了因?yàn)橐粋€(gè)頁(yè)面已經(jīng)可以呈現(xiàn)更多的數(shù)據(jù)了,而且是以一種更加友好的方式來(lái)呈現(xiàn),,實(shí)際上,我們可能只需要一個(gè)index.html 或許連 index.jsp 或者index.aspx 都不需要。
????? 2,采用了Ajax之后,已經(jīng)不需要多少Action來(lái)處理數(shù)據(jù)了,這并不是說(shuō)數(shù)據(jù)不需要后端處理和得到,而是說(shuō),異步刷新的頁(yè)面無(wú)法得到用Action處理的數(shù)據(jù),MVC中,頁(yè)面數(shù)據(jù)大部分是通過(guò)request來(lái)傳遞的,javascript是沒(méi)有辦法直接得到request中的數(shù)據(jù)。
????? Ajax技術(shù)產(chǎn)生的影響,不止是將MVC,一種才誕生幾年,而且如日中天的技術(shù)推到盡頭,而且,使得很多于此相關(guān)的技術(shù)都變得邊緣化了,比如,于JSP相關(guān)的若干技術(shù) ,諸如 jslt技術(shù),也就是jsp頁(yè)面標(biāo)簽技術(shù)
皮之不存,毛將焉附,JSP技術(shù)都變得如此邊緣,基于JSP技術(shù)的相關(guān)技術(shù),就風(fēng)光不再了。
????? 雖然以JSP為核心的同步刷新技術(shù),已經(jīng)無(wú)法提供更出色的用戶(hù)體驗(yàn),但是這些技術(shù),在用戶(hù)體驗(yàn)要求不是很高的地方,比如,各種各樣的MIS(各種各樣的OA等等)系統(tǒng)中,依然非常有價(jià)值,并且將繼續(xù)保持旺盛的生命力,畢竟,使用異步刷新技術(shù),對(duì)開(kāi)發(fā)人員的要求比較高,因?yàn)殚_(kāi)發(fā)人員不僅需要java或者C# ,還需要CSS,Javascript方面的知識(shí),而且,代碼量也遠(yuǎn)高于使用同步刷新完成的頁(yè)面,同時(shí),在同步刷新及MVC方面,已經(jīng)有了非常豐富的API,比如Struct2 和Spring MVC。但是,新技術(shù)已經(jīng)來(lái)了,就讓我們放開(kāi)懷抱去擁抱這項(xiàng)技術(shù)吧。
???
轉(zhuǎn)載于:https://www.cnblogs.com/MicroGoogle/archive/2012/02/24/MVC_Finish.html
總結(jié)
以上是生活随笔為你收集整理的走到尽头的技术-MVC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 能手机投屏吗华为智慧屏SE65英寸超薄电
- 下一篇: Qt中QTableWidget用法总结