中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

WEB開發(fā)觀點:MVC會取代Web form?
來源:易賢網 閱讀:1511 次 日期:2014-07-24 11:14:57
溫馨提示:易賢網小編為您整理了“WEB開發(fā)觀點:MVC會取代Web form?”,方便廣大網友查閱!

可以說,在未來幾年中,Web form的使用會逐漸減少,而取而代之的就是MVC。可能你不會同意我的觀點,那么我就試著闡述一下我的觀點,如果你還是不能接受,那么請你反駁我。

學習一個新語言或者是新架構是需要時間的,我們需要摒棄原來學習的很深入并且用的很熟練的架構來迎合新架構嘛?是的,如果讓我說,我的回答是否,但是我需要看清這個新架構究竟和原來的架構有哪些改進,是否真的需要我們投入大量的時間去學習?Mvc 是一種架構模式,它帶來了全新的和asp時代同樣的開發(fā)體驗(注:我不是說這是倒退)。

下面我就來闡述一下對于Web form,MVC是否值得我們去學習。

1.View State

相信大家對于這個視圖狀態(tài)都很熟悉,它是用來保存我們在頁面中輸入的數據狀態(tài),以便我們可以在刷新頁面或者回發(fā)時使頁面回到我們原來的輸入數據時的狀態(tài),這個效果很好的實現了我們的需求。但是同時,我們要問自己一下,是否我們就真的需要這些,需要頁面刷新時顯示原來的數據,這是否是有意義的?

還有就是View State在web form時代大行其道,在每個頁面都會存在,甚至在復雜的頁面中他的大小甚至很大,在每次 頁面回發(fā)時都會傳遞View State狀態(tài),我們不說服務器解析這些View State需要時間,就是每次頁面?zhèn)鬏敹家獋鬟f這些View State就會使帶寬增加,顯示網頁的時間變長。這在2.0時代,最起碼是我所不允許的。

2.Page Life Cycle 頁面生命周期

在Web form中存在著復雜的生命周期,我甚至清楚的記得在我學習Web form的時候,都是拿著筆在紙上畫著這些周期圖,在每個周期頁面會執(zhí)行什么動作。這就像我在學習c#連接數據庫的時候寫sql helper,讓我很頭疼。例如在Page_render()中不應該訪問具體的控件,因為這時控件還沒有生成(有園友提出錯誤,我查閱了資料也認為這是錯誤的,因為這時已經把控件渲染要輸出,特此聲明。感謝園友提出錯誤,我會積極改正),如果要訪問請在Page_load()中,我們每天都要和Page_Load()事件打交道,至少我很經常。IsPostBack是經常可以見到的方法。

如果你覺得你可以完全掌握這些生命周期,那么至少你是一名大牛。如果你可以很隨意的就控制頁面的生命周期,并且控制控件的生成,那么我會很敬仰你。

3.False sense of concerns 失敗的關注點分離

現在我們做軟件,講究的都是可維護性、可重用性以及關注點分離。何為關注點分離,我的理解就是每層結構只負責他自己的事情,不屬于他的不能控制,也不要試圖控制。例如,我們在code behind中寫了訪問數據庫的代碼,調用了sql helper中的類,但是現在是數據庫服務器的服務沒有開啟,那么這次調用肯定會拋出異常。難道讓我們在code behind中處理這些異常,那么我們程序員會累死的,異常應該是sql helper中處理,而不是code behind。這應該就是所謂的關注點分離。還有就是關注點分離應該是每個類只負責他自己的工作,而不要在一個類Sql Helper中有著返回html的語句出現。

4.Limited control over HTML 對于html的控制極差

我在頁面生命周期中說了,如果你可以隨意的更改生成的控件,那么我會崇拜你。如果說對于一個服務器端控件可以控制生成html的樣式,或者生成html的ID、name,以便可以讓js使用,這是很困難的。當然在.net 4.0中添加了一個屬性,那就是ClientIDMode,如果把這個屬性值設置為static,就可以生成和定義的ID一樣的html的ID值。默認情況下這是不被啟用的,會生成復雜的、嵌套的ID值。這對于我們在客戶端操作html標簽是很困難的。

當然了,這不是你可以轉向MVC的原因,但是是原因之一,雖然這個原因可能會有點牽強。

5.Leaky abstraction 脆弱的抽象

Web form試圖隱藏所有的http狀態(tài)(http的無記憶性或者是無狀態(tài)性)。我們在拖入一個服務器控件的時候從來需要考慮他會在什么時候顯示?因為服務器控件已經實現了這些,例如,IsPostBack 方法為什么可以用來判斷頁面是否回發(fā),它的實現原理是什么?我們不會關心,我們只關心這個方法能夠完成什么,這就夠了?真的夠了嗎?

我認為沒有,只是會使用,我想任何一個只要認識英文的人都可以完成,但是會使用就夠了嗎?性能問題達到了嗎?會出現哪些問題?我們都不知道,我們只是用了一個黑盒子,但是里面是什么東西我們不知道?如果是陷阱我們也會毫不猶豫的跳進去?對嗎?

偶爾的熟悉一下源碼,對于提升我們自己的開發(fā)水平有幫助之外,我們也可以發(fā)現很多我們可以控制的問題,避免他們發(fā)生?所以,親愛的朋友們,不要僅僅限于使用,有時候大牛和小牛的根本區(qū)別就是小牛不知道為什么要這樣?而大牛指導如何更好的這樣。

6.Low testability 極差的可測試性

我在以前開發(fā)web form的時候,采用服務器控件可以大大的提高開發(fā)速度。但是,我從來不知道如何去測試我開發(fā)的代碼是否運行正常。唯一的方式就是自己一個人沒事的時候點擊、點擊、再點擊。還有就是設置斷點,按住F11,不斷的點擊鍵盤,直到看到這些代碼都想吐的地步?

但是在MVC中,這些問題都不再存在,因為我們可以使用Nunit等可以進行單元測試的工具,我們可以把測試精確到每一行代碼,我們可以實現測試的自動化,避免了手動點擊浪費的大量時間。這是一件好事,不是嗎?

還有我個人認為最重要的一個原因就是,你如果有web form的開發(fā)基礎,那么學習MVC可以說就是很簡單的事情,因為MVC中沒有了服務器控件,有的只是html標簽以及一些可以生成html標簽的helper類。我個人感覺做美工的如果想轉開發(fā),這倒是不錯的時機,因為html對于美工來說筆程序員更熟悉。

在MVC中沒有View State,可以對html進行完全的控制,可以不再使用原來的Url rewriter,而是采用MVC中自帶的Route(Url路由系統),良好的關注點分離框架(Model、View、Controller),每一層都是負責自己的任務。

在MVC中不是每一個地址都會對一個一個具體的頁面,你可以定義多個Action,返回同一個頁面。在MVC中因為有了強大的路由系統,所以我們不會再見到www.cnblogs.com/default.aspx,這樣的地址了,而是取而代之的www.cnblogs.com/home/index ,這是一個巨大的突破。可以讓特定的頁面具有具體的含義。這是URl友好,你認為呢?

我并不是說MVC會取代Web form,而是他們之間的對比性,當然如果可以避免一些問題的存在,那么讓MVC和Web from共存在同一個項目中,或許是不一個不錯的選擇。但是前提還是需要你學習MVC,我個人認為在未來幾年中,Web form和MVC會共存。

好了,說了這么多,我只是有一句話,就是如果你想在未來的Web開發(fā)中不落后,那么就在業(yè)余時間學習一下MVC吧。

如果你想你的網站具有更好的可維護性,那么采用MVC是你的明智之舉。

以上只是我的個人所言,請各位參考!!

每天進步一點,一年就會進步一大步,十年就可以成功,君子當自強不息,君子當好好學習,每天進步。

更多信息請查看IT技術專欄

更多信息請查看網頁制作
易賢網手機網站地址:WEB開發(fā)觀點:MVC會取代Web form?

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩精品一本二本三本| 国产伦精品一区二区三区视频黑人 | 国产区精品在线观看| 最近中文字幕mv在线一区二区三区四区| 久久精品官网| 久久精品在线观看| 欧美三级第一页| 日韩一级在线观看| 欧美日韩一区二区三区视频| 伊人精品在线| 美女网站久久| 99热在这里有精品免费| 欧美午夜剧场| 欧美va亚洲va香蕉在线| 国产精品亚洲网站| 久久久高清一区二区三区| 黄色成人av在线| 欧美日韩国产三区| 久久久91精品国产| 亚洲国产一区二区三区高清| 欧美国产在线视频| 久久综合网hezyo| 欧美在线视频一区二区| 亚洲人成精品久久久久| 狠狠噜噜久久| 国语自产精品视频在线看一大j8 | 国内精品久久久久影院优| 一区二区三区 在线观看视| 国产精品福利网站| 欧美激情精品久久久久久久变态 | 99re66热这里只有精品3直播| 国产日韩欧美黄色| 欧美午夜免费| 欧美日韩福利| 欧美极品影院| 欧美视频一区二| 国产精品入口福利| 国产精品日韩欧美一区二区三区| 欧美日本精品| 国产精品视频不卡| 在线播放不卡| 一区二区三区国产在线| 亚洲欧美日韩视频二区| 欧美一区二区三区四区夜夜大片| 香蕉精品999视频一区二区| 午夜精品视频在线观看一区二区| 欧美一级午夜免费电影| 蜜桃久久精品一区二区| 欧美日本三区| 国产麻豆视频精品| 亚洲第一主播视频| 欧美一区二视频在线免费观看| 久久久夜精品| 在线成人国产| 欧美色欧美亚洲另类二区| 国产精品美女xx| 99精品热视频只有精品10| 久久国产一二区| 国产精品久久久久久久一区探花| 国内一区二区三区在线视频| 中国亚洲黄色| 欧美日韩国产91| 亚洲精品久久久久久久久久久久久 | 国产精品久久久久久久午夜片| 在线不卡中文字幕播放| 久久狠狠一本精品综合网| 欧美日韩日本国产亚洲在线| 国户精品久久久久久久久久久不卡| 亚洲精品日韩在线| 久久久蜜桃一区二区人| 国产一区二区三区久久久久久久久| 亚洲免费中文| 国产精品美女久久| 先锋影音国产一区| 国内免费精品永久在线视频| 久久久久国色av免费看影院 | 久久午夜影视| 精品va天堂亚洲国产| 久久久伊人欧美| 亚洲福利精品| 欧美日韩色婷婷| 亚洲女爱视频在线| 国产日韩欧美| 老司机67194精品线观看| 91久久综合| 国产麻豆精品theporn| 午夜精品一区二区三区在线视 | 国产精品日韩一区| 欧美亚洲一区在线| 亚洲高清123| 国产精品国产馆在线真实露脸| 亚洲在线一区二区| 1204国产成人精品视频| 欧美日韩在线高清| 麻豆91精品91久久久的内涵| 一区二区三区精品视频| 狠狠色狠色综合曰曰| 国产精品日韩在线一区| 欧美日韩天天操| 亚洲午夜久久久久久尤物| 午夜性色一区二区三区免费视频| 国产精品人人爽人人做我的可爱| 午夜激情一区| 亚洲尤物视频在线| 一区二区三区国产在线| 国产一区二区三区高清在线观看| 欧美日韩免费在线| 亚洲欧美资源在线| 欧美精品一区二区蜜臀亚洲| 久久久五月婷婷| 欧美一二区视频| 亚洲精品国产精品乱码不99| 国产欧美日韩视频| 日韩视频一区二区三区在线播放| 亚洲福利在线看| 黄页网站一区| 国产欧美日韩一级| 国产精品男人爽免费视频1| 国产精品美女视频网站| 欧美大片国产精品| 久久阴道视频| 久久免费午夜影院| 欧美在线一二三区| 欧美在线视频在线播放完整版免费观看 | 久久久一区二区| 欧美在线亚洲在线| 久久精品二区三区| 久久久免费观看视频| 美日韩精品免费观看视频| 欧美三级午夜理伦三级中文幕 | 久久久噜噜噜久久中文字幕色伊伊| 亚洲深夜福利在线| 久久精品国产免费看久久精品| 欧美极品一区二区三区| 欧美日韩亚洲网| 国产婷婷色一区二区三区| 又紧又大又爽精品一区二区| 99热免费精品| 欧美片在线播放| 国产欧美一区二区三区国产幕精品 | 国产日韩精品一区二区浪潮av| 激情五月综合色婷婷一区二区| 亚洲高清在线精品| 欧美一区二区三区在线免费观看| 久久免费国产精品| 国产精品无人区| 欧美在线看片| 国产精品你懂的在线| 在线观看欧美成人| 久久国产精品亚洲va麻豆| 欧美三级资源在线| 亚洲欧美日韩在线综合| 欧美高清hd18日本| 亚洲黄色性网站| 久久久夜色精品亚洲| 国产视频一区二区在线观看| 国内精品久久久久国产盗摄免费观看完整版| 欧美jizzhd精品欧美巨大免费| 欧美日韩久久不卡| 久久久久久久久综合| 午夜精品一区二区三区在线播放| 在线不卡中文字幕| 久久精品视频免费| 亚洲每日在线| 在线日韩精品视频| 日韩亚洲不卡在线| 亚洲福利视频二区| 亚洲电影免费观看高清完整版在线 | 国产在线观看一区| 亚洲少妇诱惑| 国产日韩精品一区二区三区| 欧美一区二区私人影院日本| 国产精品日本| 一本色道久久综合亚洲精品不| 久久久久久97三级| 久久精品国产一区二区三区免费看| 国产精品多人| 欧美一区二区精品| 亚洲电影在线播放| 欧美日韩亚洲高清| 欧美一区二区三区四区在线观看| 国语自产精品视频在线看抢先版结局 | 欧美视频在线观看免费网址| av成人毛片| 国产一区再线| 国产精品v日韩精品| 一区二区三区在线视频观看| 亚洲欧美国产视频| 亚洲国产精品高清久久久| 欧美激情aⅴ一区二区三区| 中文av一区特黄| 在线看视频不卡| 国产一区二区0| 亚洲国产精品99久久久久久久久| 国产精品家庭影院| 欧美怡红院视频一区二区三区| 亚洲人成毛片在线播放| 99精品视频免费全部在线| 欧美激情五月| 欧美成人高清视频|