程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> DNN(DotNetNuke)研究手札-背景、現狀

DNN(DotNetNuke)研究手札-背景、現狀

編輯:關於ASP.NET

首先,請不要忙著看這篇文章,嘗試去官方網站下載一個最新版本的來安裝看看,仔細看看安裝說明文檔、各種技術的白皮書,DNN做得很全很仔細,連版本代碼差異都精細到每行代碼。

為什麼不去仔細研究呢?

DNN到底是啥來頭?DNN可以追溯到ASP.NET Starter Kits的ASP.NET Portal,這個東西仍然可以在asp.net網站中找到。相關的文章我之前也寫過,請自行搜索。ASP.NET Portal之後,出現了IBuySpy,也就是大家熟悉的IBS,這個比ASP.NET Portal進化了不少,使用了大量的.NET技術,也就是DNN的雛形。2002年,IBS給市場印證了其局限性不能滿足用戶需求,DNN1.x推出了,它在IBS的基礎上主要改善了模塊功能,接下來的DNN2.0.x更是把整個內核重寫,帶來了革命性的Skin。

DNN在外國到底有麼受歡迎?

1、DotNetNuke:http://www.dotnetnuke.com/官方站點每天的注冊/訪問量,大家可以看看其首頁右邊的在線統計;

2、DNN論壇http://www.asp.net/Forums/ShowForum.aspx?tabindex=1&ForumID=90是比較熱的,相對ASP.NET網站上的其它論壇來說;

3、DNN在眾多免費/收費Portal中應用甚廣;

4、DNN2.0.x發布的時候,在微軟VS-Live! Conference中演示過,呵呵;

在研究的2個多月中,我感覺,與其等待別人來喂自己,到不如自己去覓食,或許這樣比喻不貼切,意思就是說,動手去研究,比等待別人來教自己來得實際。

DNN倡導的是一種准備就緒、動態的、100%互動的數據驅動網絡門戶框架。

DNN最大的特點是系統框架、DSL(數據存儲層)、DAL(數據訪問層)、BLL(業務邏輯層)、PL(呈現層)完全分離。系統開發人員、業務開發人員、美工和DBA(數據庫管理員)都是“互不相干”的。

為了和.NET 2005盡量兼容,DNN應用了大量的所謂Provider(提供者)/Factory(工廠)模式來實現了其廣泛的擴展性,可能你會覺得要僅僅實現一個數據的更新,要在3個類中實現,但當你要在MS SQL、ACCESS、MySQL、Oracle或XML之間自由切換,那麼,你將會發現DNN這種模式是會令你愉快的。

DNN的另外一個特性是其Skin(外觀),它實現了從Portal(門戶)、Tab(欄目)到Module(模塊)各個層次的動態外觀,每個Skin分Skin和Container(容器),Container可以理解成DNN的模塊區域,每個模塊都包括在一個Container中。DNN的Skin和動態Module是密不可分的。DNN的Tab和Module定義已經到達了WYSIWYG這個層次了,不過我認為它不能做到集中處理。

DNN的每個Module都可以理解成一個積木,你可以隨時把這個積木放到任何欄目的任何位置,你甚至可以隱藏它。不過DNN對每個Module的數據處理都沒有做到集中,Module刪除了,並不對自動刪除對應的數據,時間一長就產生大量冗余數據。而且沒有集中處理,非常不直觀。

以上缺陷我都在實際應用中改善了。

如果你僅僅認為DNN的Skin僅僅是改變一下CSS和換一下圖片,如果認為.Text可以和DNN比較,那麼,你都錯了。隨著深入DNN的內核,絕對讓你改觀。

DNN接下來將會在10月份推出2.2x,改進包括:

1、門戶搜索;

2、友好URL,路徑不再顯示/default.aspx?tabid=xx,而可能是/portal/0/tab/11/page/;

3、多語言;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved