日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

紧跟时代步伐,让我们拥抱MVC 3

發(fā)布時(shí)間:2024/10/12 c/c++ 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 紧跟时代步伐,让我们拥抱MVC 3 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作為一個(gè)開(kāi)發(fā)者,我們不希望技術(shù)很快的更新,這是因?yàn)槲覀冞€沒(méi)有完全掌握原來(lái)技術(shù)的基礎(chǔ)上,又要掌握新的技術(shù),作為天天忙忙碌碌的程序員,我們不希望還要額外的時(shí)間來(lái)學(xué)習(xí),尤其是當(dāng)我們的年齡,逐漸的變大的時(shí)候,但是有時(shí)候跟上時(shí)代的步伐也會(huì)給我們帶來(lái)很多的好處,我今天要說(shuō)的主題就是讓我們從MVC 2 升級(jí)到

MVC3 吧,因?yàn)樗麕Ыo我們太多的是驚喜,而不是學(xué)習(xí)的苦惱。

可能有的園友要嗤之以鼻了,每個(gè)技術(shù)的更新都會(huì)帶來(lái)新的學(xué)習(xí)點(diǎn),我們總是要不斷的學(xué)習(xí)來(lái)跟上他們,我們會(huì)很累的?的確,作為一名程序員,我們每天總是睡得很晚,起的很早,很多人喜歡叫我們夜貓子,因?yàn)橹挥性谝股钊遂o的時(shí)候,我們才能投入精神來(lái)學(xué)習(xí)而不被打擾。但是就算我們不想每天這么累,我建議每個(gè)MVC人員,從MVC 2 升級(jí)到MVC 3 吧,因?yàn)樗芨纳莆覀兒芏嗟墓ぷ鲿r(shí)間,增加工作效率,甚至?xí)p少很多bug。你不信,那么我們就一起來(lái)分析一下,究竟是升級(jí)MVC 3帶來(lái)的好處多,還是浪費(fèi)我們學(xué)習(xí)的時(shí)間多吧。

asp.net MVC 2發(fā)布已經(jīng)過(guò)去了很長(zhǎng)時(shí)間了,我們也是從它開(kāi)始來(lái)真正的開(kāi)發(fā)我們的網(wǎng)站應(yīng)用程序的,那么我們想一下,MVC 2 帶給我們的有哪些不便之處呢?我來(lái)

列舉幾個(gè)比較重要的缺點(diǎn)吧。

  • 如果你想在MVC 2中控制每個(gè)Action 的執(zhí)行是否會(huì)出現(xiàn)異常,你會(huì)怎么做呢?你可能的做法就是定義一個(gè)可以處理異常的Attribute,然后分別應(yīng)用到每個(gè)Action或者是Controller上,來(lái)捕獲出現(xiàn)的異常信息?或者還有一種方法就是定義一個(gè)基類,讓所有的Controller都繼承自這個(gè)基類,而我們?cè)诨愔胁东@異常。據(jù)我個(gè)人所知,大多數(shù)人采用的也就是這兩種處理異常的方式,但是我們來(lái)考慮一下它的缺點(diǎn)。第一個(gè)處理異常的方式很明顯就是啰嗦,第二個(gè)呢,使我們?cè)赪eb ?form時(shí)代通用的方式,肯定不錯(cuò)。但是我們從另一個(gè)方面來(lái)想一下,如果說(shuō)我們除了要捕獲異常信息之外,還要添加驗(yàn)證,那么應(yīng)該怎么做呢?
    C#是單繼承的,這個(gè)問(wèn)題留給園友們來(lái)思考?在MVC 3中這個(gè)方式得到了解決,就是全局Attribute
  • 在MVC 2中,如果你想添加一個(gè)后臺(tái)管理系統(tǒng),你會(huì)怎么辦呢?其實(shí)這個(gè)有一個(gè)很好的解決辦法,就是另外添加一個(gè)MVC 應(yīng)用程序,用來(lái)作為后臺(tái)管理系統(tǒng)?其實(shí)這真的是很好的處理方式,雖然我個(gè)人沒(méi)有采用MVC 2開(kāi)發(fā)過(guò)任何的系統(tǒng),但是我還是非常欣賞這種折中的處理方式。但是這同樣帶來(lái)了另外一個(gè)問(wèn)題,所有的資源文件得不到重用,甚至是css文件?你不得不重新建立各個(gè)目錄來(lái)進(jìn)行存放,還有一個(gè)非常直接但是非常重要的問(wèn)題擺在了面前?htmlhelper類可以在后臺(tái)管理系統(tǒng)中訪問(wèn)到前臺(tái)頁(yè)面嗎?我們可以在同一個(gè)IIS目錄下訪問(wèn)這兩個(gè)不同的應(yīng)用程序嗎?我想是不能的,首先htmlHelper類中的方法是無(wú)法應(yīng)用到前臺(tái)頁(yè)面的,還有在同一個(gè)地址中是不可能訪問(wèn)到這兩個(gè)不同的應(yīng)用程序的。這會(huì)帶來(lái)非常嚴(yán)重的問(wèn)題,畢竟在后臺(tái)無(wú)法訪問(wèn)到前面頁(yè)面就是客戶無(wú)法接受的問(wèn)題?我們又能如何處理呢?MVC 3中對(duì)應(yīng)的就是Area
  • Razor視圖也是一個(gè)我們不得不提的重要因素,我們都知道MVC 2遵循的是web form時(shí)代的<%%>方式,這令我們?cè)谇芭_(tái)構(gòu)造復(fù)雜的邏輯分離時(shí)是十分痛苦的?如果說(shuō)你想在前臺(tái)顯示一個(gè)列表,那么foreach是我們都會(huì)采用的方式,我們知道在foreach中我們會(huì)使用到多少個(gè)<%%>,這會(huì)令我們的程序非常難懂,并且非常容易出錯(cuò)。而Razor視圖就是利用@符號(hào)作為處理方式,簡(jiǎn)潔的方式絕對(duì)是我們想象不到的好用,只要你用了它,相信你會(huì)愛(ài)上他。
  • MVC 3 使用到了Nuget,這是一個(gè)非常好的擴(kuò)展插件,可以自動(dòng)更新我們程序的引用到它的各個(gè)地方,甚至包括web.config配置文件。
  • 在MVC 3中母板頁(yè)沒(méi)有了.master,所有文件的后綴名都是.cshtml,這當(dāng)然會(huì)使我們收益,畢竟只要我們?cè)敢?#xff0c;可以指定任何文件作為母板頁(yè),哪怕只是為了單純的嵌套使用。
  • MVC 3增強(qiáng)了htmlHelper類,讓我們的開(kāi)發(fā)更加的流暢。
  • 依賴注入一直是我比較喜歡研究的一門技術(shù),當(dāng)然我現(xiàn)在還沒(méi)有完全的入門依賴注入,但是我深刻的感受到MVC 3對(duì)依賴注入的完美支持,只要你愿意,任何IOC框架都可以應(yīng)用到MVC 3程序中,從而實(shí)現(xiàn)更好的替換功能。
  • 說(shuō)了這些MVC 2中 相對(duì)MVC 3所不具有的缺點(diǎn),相信你也可以更加感受到MVC 3真的值得我們?nèi)W(xué)習(xí),雖然說(shuō)現(xiàn)在MVC 4已經(jīng)出來(lái)了,但是我還是建議你學(xué)習(xí)一下MVC 3,因?yàn)樵郊?jí)的學(xué)習(xí)會(huì)給我們以后的深入帶來(lái)很大的困擾。雖然說(shuō)我介紹的很大概,但是我想同是作為程序員的你,一定可以理解我說(shuō)的是什么意思。尤其是MVC 3 所帶來(lái)的全局Attribute以及Area兩種技術(shù)的更新就可以讓我們有足夠的勇氣去面對(duì)升級(jí)帶來(lái)的任何麻煩。相信我吧,升級(jí)一下自己,帶來(lái)的可能是更大的收獲。

    最后,展示一下MVC 3的razor語(yǔ)法,相信你會(huì)深深的愛(ài)上它。

    1 @{ 2 Layout = "~/views/shared/_layout.cshtml"; 3 } 4 @using MvcWeb.Extensions 5 <!DOCTYPE html> 6 <html> 7 <head> 8 <title>Index</title> 9 <script src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js" type="text/javascript"></script> 10 <script type="text/javascript" src="@Url.Content("http://www.cnblogs.com/Scripts/jquery-1.5.1-vsdoc.js")"></script> 11 <script type="text/javascript" src="@Url.Content("http://www.cnblogs.com/scripts/jquery.validate.js")"></script> 12 </head> 13 <body> 14 <div> 15 <form id="form" action="" method="post"> 16 <input type="text" id="user.Name" name="user.Name" /> 17 @{ this.Jquery().Validations().Required("user.Name", "用戶名是必填的 親");} 18 <select name="user.Gender"> 19 <option value="">Please select...</option> 20 <option value="1">Male</option> 21 <option value="2">Femle</option> 22 </select> 23 @{ this.Jquery().Validations().Required("user.Gender", null);} 24 <input type="text" name="user.Email" /> 25 @{this.Jquery().Validations().Element("user.Email").Required("郵箱是必填的").Email("請(qǐng)?zhí)顚懻_的郵箱格式");} 26 <input type="submit" value="提交" /> 27 </form> 28 @{ 29 @:fdjkfdjkf 30 // hjkhkjhkj@:fdfdfdf 31 <text> 32 dsdsd 33 dsdsd 34 dsdsd 35 </text> 36 37 } 38 </div> 39 <script type="text/javascript"> 40 @Html.Raw(this.Jquery().Validations().ToScripts("#form")) 41 </script> 42 </body> 43 </html>

    razor語(yǔ)法一定會(huì)帶給你很多的驚喜

    轉(zhuǎn)載于:https://www.cnblogs.com/lijiasnong/p/4740047.html

    與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的紧跟时代步伐,让我们拥抱MVC 3的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。