成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何遷移到ASP.NET程序員

開發 后端
本文介紹如何遷移到ASP.NET程序員,要從熟練的ASP程序員轉變為熟練的ASP.NET程序員并不容易,這不僅僅要求你學習非常多的新東西,還要求你丟棄非常多的舊東西。

從ASP遷移到ASP.NET程序員肯定不少,我就是其中一個,然而要從熟練的ASP程序員轉變為熟練的ASP.NET程序員并不容易,這不僅僅要求你學習非常多的新東西,還要求你丟棄非常多的舊東西。對于沒學過ASP的人來說,或許這還容易些,因為他們本來就做好了苦學的準備,也沒多少需要丟棄;對于熟練的ASP程序員來說則比較痛苦了,因為原本期望自己原來的知識都可以平滑過渡輕松用上ASP.NET,結果發現現實與期望的差距是那么的大。

在發現這個差距之后,沒有人應該停下來然后倒退回去ASP的時代,知難而上把ASP.NET用到和ASP一樣熟練才是我們的目標,因此才有了這個系列的文章。在系列的***篇里,我們先來討論ASP程序員缺了什么,什么是應該優先補上的,只有把這些知識補上了,我們才能夠把自己稱作ASP.NET程序員。

Web Standards / Web標準

做Web應用首先要懂做Web,現在提倡的是Web Standards,其所涉及的XHTML、CSS、JavaScript是一定要懂的。很多ASP程序員可能已經熟悉老式的表格排版方式,但這是應該被丟棄的東西。很多宣揚Web Standards的文章都給出了不少表格排版的壞處,那些我就不多說了,我要說的是不使用Web Standards對ASP.NET程序員最致命的一個壞處。由于MS也向Web Standards靠攏了,所以ASP.NET 2.0被設計為兼容Web Standards的,這時候所有的控件都被設計為語義與表現分離。如果你不遵守此分離規則去分工,那么隨著你和你的美工輪流編織這張Web,最終有一天這張Web就會把你和你的美工給綁死。

要學好XHTML+CSS的設計,不僅僅需要觀念上的轉變,還需要開發工具上的更換。很多人無法適應Web Standards的設計觀念,是因為他們還在用老工具,于是總是覺得用舊觀念設計更方便效果更好。因為我相信,只有當你適應了新的工具,體驗到新工具帶來的便利和高效,你才會樂意接受觀念上的轉變。

說到開發工具,我假設熟練的ASP程序員都能夠完全脫離WYSIWYG的編輯器而以純文本方式編寫XHTML和CSS,因為XHTML+CSS的開發要求你和你的美工都具有這樣的能力。以往美工可以安樂地對著Photoshop,這是他們最習慣使用的工具,操作起來有精確性的同時又可視化,他們可能有一半的時間是用眼睛思考的。然而現在改用CSS就沒這樣的好事情了,能夠好像Photoshop那樣設計CSS的軟件還沒有誕生,修改任何一條CSS規則都會應用到所有頁面上,至于每一個頁面哪些元素會匹配這條CSS規則這需要美工用腦袋記著,不再是可視化。雖然改一下CSS規則然后看一下幾個頁面的預覽這也是一種選擇,然而這比Photoshop中調整參數時的即時預覽要差多了,所以讓美工學會在腦袋里進行預覽是很重要的,這樣才能寫出好的CSS來。

如果要推薦一些工具的話,我會選擇Visual Studio 2005 + Expression Web Beta 1,前者開發人員自己用,后者是美工用來設計或修改Web頁面用的。

OOP / 面向對象程序設計

OOP可以說是ASP.NET的基礎,沒有OOP就沒有ASP.NET控件這個概念,也就沒有了ASP.NET與ASP最巨大的差別。

從最原始的CGI開始,Web應用開發者無非就在設計著這樣一種邏輯——根據輸入的Request生成輸出的Response,大多數情況下兩者都是平板的純文本字符串,除非設計上傳/下載文件。ASP引入了Request和Response對象,讓處理稍微顯得立體了一些,你不再需要手動分析 Request文本,它能夠幫你將提交上來的Form、QueryString、Cookies等參數提取出來供你使用。Session和 Application對象的引入讓你在不了解細節的情況下進行特定目的的存儲,Server對象的引入則為你提供了很多有用的函數。

ASP遇到的***問題是,立體的Request提供出來的數據卻是平板的,整個處理過程也是平板的。那就說,在處理過程中的任何一個步驟,都可以訪問任何一個Request數據項,然后把結果輸出到Response中,這導致程序代碼的耦合度很高。如果輸出的Response有問題,你沒辦法明確指出處理過程中的哪一段應該對它負直接責任。

ASP.NET嘗試通過引入控件的概念來解決這個問題。每一個控件都是一個獨立的邏輯單元,它僅僅對自己內部的邏輯負責,并且盡可能減低對外部環境的依賴性。控件不再像普通的ASP邏輯那樣它可以亂訪問Request和Response,它的能力應該受到限制:

一個控件僅僅應該讀取它生成的HTML元素提交回來的數據,否則應該考慮通過其他控件的屬性來獲取,而不是從Request獲取。詳細說明如下:
◆IPostBackDataHandler和IPostBackEventHandler就是為控件處理自己生成的HTML有關的參數與事件而設計的。
◆如果控件要獲取的數據來自子控件,則應該通過子控件的屬性獲取。
◆如果控件要獲取的數據來自外部控件,則應該請求父控件或環境幫忙獲取。

一個控件生成的HTML應該是環境無關的,也就是無論其他控件生成怎樣的HTML都不會和此控件生成的HTML沖突。詳細說明如下:
◆Render用于生成本控件的HTML。
◆如果控件要生成的HTML存在可能引起沖突的情況,則應該請求父控件或環境處理。例如最常見的生成腳本,為了避免同一段腳本多次輸出就應該向ClientScriptManager注冊腳本,然后讓它來覺得腳本的輸出。

當然,上面這些規則你喜歡怎么違反都行,沒有人規定你一定要這樣做的。但只有遵守了這些規定,你才算得上是一個ASP.NET程序員,否則就僅僅是一個使用著ASP.NET框架的ASP程序員。

要遵守這些規則,首先要把OOP學好,這樣你才會明白為什么要遵守以及如何去遵守。因為規則是死的,而我們面對的情況可能是靈活多變的,當面對一個新的情形時應該選擇如何設計呢?顯然你不一定能夠從上面的規則中找到一條來參考,這時候你的OOP思想及價值觀就起決定性作用了。

HTTP協議

HTTP協議其實沒什么好說的,一個熟練的ASP程序員必須懂的東西,而且可能從你學習ASP的那天起它就沒改變過。只不過對于ASP程序員來說,這東西是透明的,因為我們直接使用Request,這和直接處理HTTP協議沒太大的區別。但是到了ASP.NET,Request已經被隱藏起來了,你應該避免使用它,這時候你就需要重視HTTP協議了,否則底層通訊發生了什么你完全不知道。
總結

雖然看起來我只列了3個學習要點,但我們的目標是熟練,所以每一樣你都至少用上一年半載才算學到點東西,這一點兒都不簡單。

本系列的下一篇將討論“忘記什么”,如果你明白了“學習什么”,卻發現學習進度不理想,那就證明你有些包袱沒有拋下了。

【編輯推薦】

  1. 微軟發布ASP.NET MVC 2預覽版 多項功能更新
  2. ASP.NET服務器自定義控件安全準則
  3. ASP.NET編程規范之編碼規范淺析
  4. 關于ASP.NET Session的一點認識
  5. ASP.NET編程工具ASP.NET Web Matrix詳細介紹
責任編輯:佚名 來源: yesky
相關推薦

2009-07-24 13:09:57

ASP.NET程序員

2009-07-21 10:16:51

ASP.NET程序員

2009-07-27 10:00:17

程序員ASP.NET

2009-08-04 16:24:19

合格的ASP.NET程

2009-07-27 18:07:30

ASP.NET程序員

2011-12-20 10:02:01

ASP.NET

2009-02-19 11:02:17

2009-08-02 10:21:39

ASP.NET程序員面ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-21 15:02:19

ASP.NET應用程序

2009-07-22 17:32:40

ASP.NET應用程序

2009-07-23 13:26:21

2009-07-28 18:00:11

ASP.NET程序

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應用

2009-07-20 16:08:04

ASP.NET應用程序

2009-07-28 13:35:18

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美另类日韩 | 成人免费一区二区三区视频网站 | 国产高清精品在线 | 久久免费福利 | 国产精品成人一区 | 日韩精品一区二区三区免费视频 | 亚洲精品视频在线播放 | 午夜免费福利电影 | 成人免费视频在线观看 | 精品国产乱码久久久久久牛牛 | 亚洲一区二区视频在线观看 | 精品在线一区二区三区 | 热久久999 | 国产精品乱码一区二三区小蝌蚪 | 99视频久| www国产成人免费观看视频,深夜成人网 | 成人精品鲁一区一区二区 | 香蕉视频黄色 | 99精品欧美一区二区三区 | 日本三级在线网站 | 亚洲精品一级 | 天堂一区二区三区 | 国产精品日韩欧美一区二区三区 | 成人激情视频免费在线观看 | 欧美精品日韩 | 五月激情综合 | 久久久久一区二区三区 | 国产成人精品视频在线观看 | 婷婷不卡 | 国产成人精品一区二区三区在线 | 国产性生活一级片 | 在线观看亚洲一区二区 | 国内精品视频在线观看 | 最新免费av网站 | 毛片一级黄色 | 欧美日本韩国一区二区三区 | 一区二区在线 | 欧美1区| 国产91久久久久 | 岛国视频| 欧美日韩一二区 |