ASP.NET學習路線圖

轉自:http://www.cnblogs.com/huangmeimujin/archive/2011/08/08/2131242.html

 如果你已經有較多的面向對象開發經驗,跳過以下這兩步:

  第一步 掌握一門.NET面向對象語言,C#或VB.NET 我強烈反對在沒系統學過一門面向對象(OO)語言的前提下去學ASP.NET。 ASP.NET是一個全面向對象的技術,不懂OO,那絕對學不下去!

  第二步 對.NET Framework類庫有一定的了解 可以通過開發Windows Form應用程序來學習NET Framework。ASP.NET是建構在.NET Framework之上的技術,你對.NET Framework了解得越深,學習ASP.NET就越快。 舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念: 對象的內存模型,委托,事件,多線程,程序集和應用程序域,安全模型 .NET Framework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。 出于急迫的心情與現實的考慮,不少人沒有扎實的面向對象基礎就想直接學習ASP.NET,其結果只能是欲速則不達。 在具備了OO基礎之后,以下是具體的學習ASP.NET技術步驟。

  第一步:學習HTML與CSS

  這并不需要去學一大堆的諸如Dreamweaver,Firework之類的各種網頁設計工具,關鍵是理解HTML網頁嵌套的block結構與CSS的box模型。許多ASP.NET控件最后都必須轉化為HTML。而且,div+CSS是當前主流的網頁布局模型。 學習這部分時,關鍵在于理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網站美工的工作,不是程序員的工作。

  第二步:學習JavaScript.JavaScript不是Java

  它主要運行于瀏覽器端。可以完成許多工作,功能也很強大:比如它將客戶端網頁中的HTML元素看成一棵樹,可以編寫代碼訪問并修改樹節點,動態生成新的HTML代碼,從而達到動態修改網頁顯示特性的目的.JavaScript在目前的網站開發中用得很多,非常重要。另外,它也是目前非常流行的AJAX技術的基礎。

  第三步:學習計算機網絡原理

  找一本大學教材,重點看看它的有關互聯網的部分,了解一些域名解析和HTTP協議等知識。這是進行互聯網開發的理論基礎。

  第四步:學習ASP.NET表示層技術

  會設計Web頁面需要結合先前打好的面向對象技術的基礎,至少掌握以下內容

  (1) 各種Web控件的使用方法

  (2) 理解信息在網頁中的傳送方式,比如Cookie,ViewState,Session等的使用。

  (3) ASP.NET應用程序與網頁的生命周期,以及相關對象(比如httpcontext,response,request)的用途。

  (4) ASP.NET實現事件驅動的內幕

  (5) 自定義用戶控件

  再次強調一下,沒有OO基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。

  第五步 掌握數據庫技術

  具體地說,要學習以下內容:

  (1) 學會使用SQLServer2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連接,如何建表,如何創建存儲過程

  (2) 學習ADO.NET,掌握使用代碼人工訪問數據庫(別用VS2005的向導)的方法

  (3) 學習數據綁定控件的使用

  第六步 理解多層架構

  這時,先前在OO學習階段涉及到的程序集與應用程序域等就派上用場了,現在,網站架構大多采用多層架構:表示層、業務邏輯層、數據存取層以及數據庫本身。可以先上網找一此多層架構的資料看,再找一個現成的比較復雜的開源ASP.NET項目分析一下其架構就差不多了。基本上都是一個套路,到處應用。有的朋友問:學習架構是不是必須學習設計模式。

  我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發,相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之后,回過頭來再看,會發現你的設計往往暗合設計模式的理論。

  第七步 學習XML與Web

  先了解XML的基礎知識,找本講XML的書看一下就差不多了,然后,再學習Web Service。Web Service其實可類比為遠程方法調用(以XML格式表達的調用信息)。

  學到了這里,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較郁悶,而且離實際開發可能比較遠。所以,這是可選項。

  第八步 學習AJAX

  學習AJAX的主要目的是創建具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。在基礎未具備的前提下直接學AJAX,就象“浮沙之上筑高臺”,所以,將AJAX的學習次序安排在這里。

  第九步 學習RIA技術

  RIA:Rich internet application,可看成是將C/S與B/S優點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。不過目前學習它主要是為了技術儲備。估計此技術的普及需要2到3年的時間,因為預裝Vista的機器去年才開始大賣。

轉載于:https://www.cnblogs.com/cugwx/p/3535788.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376119.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

centos 多個mysql數據庫_CentOS6.5 一臺服務器同時安裝多個Mysql數據庫

建用戶與組groupadd mysqluseradd -g mysql mysql下載源碼:wget https://downloads.mariadb.org/interstitial/mariadb-10.1.10/source/mariadb-10.1.10.tar.gztar -xvf mariadb-10.1.10.tar.gz1、編譯:cmake . -DCMAKE_INSTALL_PREFIX/var/lib/mysql33…

MVC3學習 一 ViewBag和Html.Raw

ViewBag類似于JavaScript的語法,在賦值時動態賦值,比如ViewBag.Dog“哈哈” ,這樣就會創建一個ViewBag.Dog的對象,供前端頁面調用。 在調用時,前臺頁面用razor方式,ViewBag 直接使用。 public class HomeCo…

PHPCMS源碼分析(二)

index.php中引入了phpcms框架的入口文件,下面我們看下這個入口文件 /phpcms/base.php define(IN_PHPCMS, true);//防止惡意調用//PHPCMS框架路徑 define(PC_PATH, dirname(__FILE__).DIRECTORY_SEPARATOR); //重新定義網站根目錄 if(!defined(PHPCMS_PATH)…

mysql 5.6密鑰_MySQL的密鑰文件不正確

我遇到了InnoDB的問題(表是最初的MyISAM,但是之前將它轉換為InndoB)表;我正在嘗試運行此查詢:SELECTposts.id,posts.post_titleFROMrss_posts AS postsINNER JOIN rss_feeds AS feeds ON posts.blog_idfeeds.idWHEREfeeds.blog_language1ORDER BYposts.post_date_db…

JS-取出字符串中重復次數最多的字符并輸出

/**取出字符串中重復字數最多的字符 */ var words sdfghjkfastgbyhnvdstyaujskgfdfhlaa;      //創建字符串 var word,                          //單個字符length;                          //該字符的長度 //…

windows下查看靜態庫和動態庫的導出函數

在window下查看動態庫的導出函數可以用vs自帶的Depends工具; 查看靜態庫的信息要用命令行來實現: dumpbin /LINKERMEMBER Test.lib > 1.txt 上面的功能是將靜態庫的信息導出保存在1.txt文件中,這樣就可以在1.txt文件中查看相關的信…

linux ll 文件大小單位_該如何改善 Linux 系統性能?

系統性能一直是一個受關注的話題,如何通過最簡單的設置來實現最有效的性能調優,如何在有限資源的條件下保證程序的運作,ulimit 是我們在處理這些問題時,經常使用的一種簡單手段。ulimit 是一種 linux 系統的內鍵功能,它…

深入Javascript中apply、call、bind

最近在看一下node package的源碼,發現很多里面都包含了function這個對象的apply、call、bind這三個方法,于是想拿出來再看看。。 apply、call 在 javascript 中,call 和 apply 都是為了改變某個函數運行時的上下文(context&#x…

優秀案例!教您如何設計現代簡約風格網頁

我們看到越來越多的設計師開始擁抱簡約的網站設計方法,消除網站不必要的元素,保留真正重要的內容,干凈、直觀的設計,就像今天的我們將展示的這些網站。 下面是一組不同風格的簡約設計的網站例子,美麗的導航、整潔的菜單…

怎么清理mysql的死鏈接_什么是死鏈接?如何正確處理死鏈接

什么是死鏈接?我們應該如何正確處理死鏈接呢?小剛SEO為你解答。什么是死鏈接?因鏈接更改或搜索引擎所收錄的網站路徑被刪除了,形成沒法打開的死鏈接。死鏈接的危害:1.死鏈數據過多時,對網站訪問體驗和用戶轉…

數據分頁和使用存儲過程的數據分頁

--使用存儲過程的數據分頁 --pageSize 一頁有多少條 --pageIndex 第幾頁 --totalCount 總共有多少條 --分頁的第一種方法 select top(10) * from Ams_Area where ar_id not in ( Select top(0) ar_id from Ams_Area order by ar_id ) order by ar_id --分頁的第二種方…

mysql generaton_Mysql 集成隨機唯一id mysql unique number generation

一句代碼:SELECT FLOOR(10000 RAND() * 89999) AS random_numberFROM table1WHERE "random_number" NOT IN (SELECT unique_id FROM table2)LIMIT 1隨機生成5位數字,并且不重復。上面的代碼真是給人無限的聯想力。例如:function g…

NavMeshAgent 動態加載障礙物

如果你想讓游戲人物繞開一些物體, 這些物體動態生成出來的.只需要給物體添加NavMeshObstacle組件即可 1. 綠色方塊添加NavMeshObstacle組件 2. 紅色方塊沒有添加NavMeshObstacle組件,被小球穿透了%>_<% 轉載于:https://www.cnblogs.com/plateFace/p/4385629.html

多任務 schedule python_Python3.6 Schedule 模塊定時任務 (實例講解)

Python3.6 Schedule 模塊定時任務 (實例講解)Python 是一種面向對象解釋型計算機程序設計語言, 由 Guido van Rossum 于 1989 年底發明, 第一個公開發行版發行于 1991 年 Python 語法簡潔而清晰, 具有豐富和強大的類庫它常被昵稱為膠水語言, 它能夠把用其他語言制作的各種模塊 …

UVa 11468 (AC自動機 概率DP) Substring

將K個模板串構成一個AC自動機&#xff0c;那些能匹配到的單詞節點都稱之為禁止節點。 然后問題就變成了在Tire樹上走L步且不經過禁止節點的概率。 根據全概率公式用記憶化搜索求解。 1 #include <cstdio>2 #include <cstring>3 #include <queue>4 using name…

mysql 檢查點_my05_mysql檢查點簡述

簡單描述一下mysql 檢查點&#xff0c;對mysql數據庫恢復的理解有所幫助。數據庫版本mysql> selectversion();-----------| version() |-----------| 8.0.11 |-----------1 row in set (0.00 sec)檢查點查看mysql>show engine innodb status\G;---LOG---Log sequence num…

VS2010無法執行自動化測試解決方案

在實際的工作過程中&#xff0c;當你發現你的VS2010無法執行自動化測試用例&#xff0c;剛好你發現你的電腦安裝有VS2012&#xff0c;那么好了&#xff0c;請卸載你的VS2012再試試...轉載于:https://www.cnblogs.com/captainR/p/3566751.html

停止Hadoop或HBase集群的腳本

#!/bin/sh #echo "waring" #read NAME #等待用戶輸入并把輸入的值付給NAME NAME$1 #將腳本第一個參數賦給NAME #引用變量時加上"{}",是個好習慣,利于shell辨別變量邊界 if [ -z ${NAME} ] ; then #執行腳本沒有輸入參數,默認關閉hadoopstop-all.sh elif [ …

css 偽元素分享!!!

最近接觸到的css 偽元素覺得還算不錯 分享下&#xff1a; 1、清楚內盒浮動設置&#xff1a; .back_list ul{padding:12px 0 0 12px;zoom:1;} .back_list ul:after{clear: both;content: ".";display: block;height: 0;visibility: hidden;}/*清楚內盒浮動設置*/ 2、偽…

公鑰和私鑰 java_公鑰與私鑰 - yxhxj2006 - BlogJava

評論# re: 公鑰與私鑰 [未登錄]2014-01-08 17:43workeruseful for me 回復 更多評論# re: 公鑰與私鑰2014-04-18 11:05Eva特別棒&#xff01; 謝謝&#xff01;worker回復 更多評論# re: 公鑰與私鑰 [未登錄]2014-06-11 17:10mike# re: 公鑰與私鑰2014-11-10 17:05游客太有用…