剛開(kāi)始學(xué)習(xí)DNN的一點(diǎn)小經(jīng)驗(yàn)(一)
Posted on 2005-05-13 16:51 二十四畫(huà)生 閱讀(1387) 評(píng)論(5) 編輯 收藏 所屬分類(lèi): DotNetNuke(DNN)學(xué)習(xí)DNN一開(kāi)始就想弄清DNN的框架實(shí)在太難。51個(gè)項(xiàng)目都不知道從那個(gè)開(kāi)始。項(xiàng)目之間的關(guān)系更是復(fù)雜。分析每個(gè)類(lèi)的關(guān)系和作用也不是很容易,主要是有時(shí)弄不懂為什么要這樣做。先從數(shù)據(jù)庫(kù)入手也不是一個(gè)很好的方法。程序過(guò)于龐大,數(shù)據(jù)表也很多。所以我認(rèn)為要學(xué)好DNN,應(yīng)按以下步驟來(lái)進(jìn)行:
1、用熟DNN,了解DNN都有哪些功能,一邊看時(shí)一邊想要是自己做該用什么方法。特別要記下自己實(shí)現(xiàn)不了的功能,在以后看程序中要著重學(xué)習(xí),這就是你將從DNN中挖到的寶。
2、看看網(wǎng)上都有哪些可供參考的資源,別人走過(guò)的路,沒(méi)必要重走,這樣才能體現(xiàn)出知識(shí)共享的優(yōu)勢(shì)。
3、所我認(rèn)為分析代碼應(yīng)從Default.aspx開(kāi)始,先一點(diǎn)一點(diǎn)的逐句逐句的看下去,對(duì)Default.aspx中所用的每一個(gè)類(lèi),都“轉(zhuǎn)到定義”一下。對(duì)每一個(gè)變量的值是怎么來(lái)的都追根求源,一直追到是從那個(gè)表讀取的數(shù)據(jù)。在追根求源的過(guò)程中,注釋好你已經(jīng)理解了的(有一些公用類(lèi),下次追根求源時(shí)還可能遇見(jiàn)它)和你沒(méi)有理解的(這很可能就是DNN精華的部分,在你對(duì)DNN有一點(diǎn)認(rèn)識(shí)后作整體分析時(shí)你就能知道他的用處)
4、在對(duì)變量進(jìn)行追根求源時(shí),往往就會(huì)遇見(jiàn)如下問(wèn)題:
Default.aspx.vb中的Dim strTitle As String = PortalSettings.PortalName的這一句,只知道是在站點(diǎn)設(shè)置信息類(lèi)PortalSettings的PortalName屬性取的值
'站點(diǎn)名稱(chēng)屬性
Public Property PortalName() As String
Get
Return _PortalName
End Get
Set(ByVal Value As String)
_PortalName = Value
End Set
End Property
那么這個(gè)類(lèi)是在什么地方被實(shí)例化的呢?要想弄清這個(gè)問(wèn)題,就在_PortalName = Value處設(shè)個(gè)端點(diǎn)然后再以調(diào)試的方式運(yùn)行。在調(diào)試位置的“堆棧幀”中,往前看,原來(lái)在是在UrlRewriteModule.vb文件的OnBeginRequest中Dim _portalSettings As PortalSettings = New PortalSettings(TabId, objPortalAliasInfo)的這一句被實(shí)例化的。
5、DNN決不簡(jiǎn)單,想吃透它絕不是一朝一夕的功夫,是一個(gè)漫長(zhǎng)積累的過(guò)程。象我這樣看程序,一次只能了解一個(gè)點(diǎn),一步一步追蹤下去就是一條線(xiàn)。天長(zhǎng)日久的積累下去,就能把一條條的線(xiàn)連成網(wǎng),在加上自己的理解和深入就能全“面”的了解DNN了。
6、我相信,當(dāng)全面了解DNN后,無(wú)論是對(duì)門(mén)戶(hù)網(wǎng)站框架,.net開(kāi)發(fā),web開(kāi)發(fā)以至于自己整個(gè)的編程思想都會(huì)有一個(gè)飛躍的進(jìn)步。
目前就這多積累,以后有新的再寫(xiě)。
我的學(xué)習(xí)思路正確嗎?希望廣大研究DNN的前輩們指正。
注:DNN要想以調(diào)試方式運(yùn)行,需要將web.cofing中<compilation> 元素中的debug設(shè)為true,如:<compilation debug="true" />
另外,在web.cofing中要想加入中文注釋而不出錯(cuò),需要在文件頂部加上<?xml version="1.0" encoding="utf-8" ?>
更多相關(guān)內(nèi)容>>