BlogEngine.Net架構與源代碼分析系列part1:開篇介紹 2008-11-05 15:27 by GUO Xingwang, ...閱讀, ...評論, 收藏, 編輯 最近我要開始這個系列了,這是個人第一個系列。關於BlogEngine.Net我想說的是,它設計的真的很棒,代碼簡潔可是功能不少,真是麻雀雖小,五臟俱全啊,並且具備了不少Web2.0的特徵,甚至它的每一行代碼都值得咱們去研究一下,它的開發團隊很棒。實際上不少國外的我的Blog都是採用BlogEngine.Net加上自定義皮膚實現的,若是您是一個Blog的開發者,這更是您的必備參考! 不少兄弟都推薦BlogEngine.Net看一看,甚至www.asp.net 也把它放在了很重要的位置。前一階段我仔細的把它的源代碼閱讀了一遍,看完之後興奮的很衝動,心想竟然還有這麼好的玩意,這個開源項目設計的真的不錯。實際上前不久的一個Podcast項目我就是採用了相似BlogEngine.Net這種架構開發的,感受仍是很不錯的。最近利用空閒的時間作了一下總結,準備寫一個關於BlogEngine.Net系列文章,其實我早就想寫一個系列文章,可是一直沒有好的想法,對於我比較熟悉的方面發現園子裏的兄弟都給寫完了,可是關於BlogEngine.Net的文章彷佛不多,因此我決定寫這個系列,還但願園子中的兄弟們多支持一下啊。 開篇聲明 本系列文章介紹的是BlogEngine.Net 1.4.5版本,這是官方前不久發佈的一個版本。你們能夠在CodePlex上下載最新的源代碼和相應的說明文檔。此外,您還能夠在它的官方站點 上了解更多的安裝和一些擴展開發等問題,還能夠下載一些開發者已經作好的皮膚。講解代碼使用C#,基於.Net Framework2.0。 BlogEngine.Net簡介 BlogEngine.NET是一個開源的.NET博客項目。整個項目採用C#開發,它的結構比較簡單,可是擴展起來很容易,它的複雜程度較低,易於定製。擴展特性主要體如今如下三個方面: 1.Widget小工具 2.Extension擴展功能 3.自定義個性化Theme 最初它是一個單人博客,很容易將它實現成多人博客。codeplex上有一個案例就是基於BlogEngine.Net的多人博客。BlogEngine.Net的主要特性: 1.很容易被安裝,只要把文件上傳到Web服務器就能夠運行。由於它默認採用XML存儲數據。 2.具備不少Blog的新特性並提供了開放接口。例如Ajax評論,支持TrackBack等。 3.具備不少Web2.0特性,例如OpenSearch, XFN tags, tag cloud等。 4.自定義主題,您能夠本身開發不少主題,相似博客園的主題。 5.能夠配置本身的數據源,例如XML,Sql Server,SQLite等。 這個系列文章我將從BlogEngine.Net的架構入手,對於每一個相對獨立的部分進行一下代碼分析並做出相應的總結,對於一些部分我會給出我我的的評價,對於一些比較好的細節部分我也會深刻探討。若是你們有一些反饋我還會及時調整。 暫定目錄 下面是我初步定出的一個目錄結構,也反映了系列文章的主要路線,請你們參考,這個目錄可能在寫的過程當中會隨時進行調整並加入已經完成文章的連接: 01.BlogEngine.Net架構與源代碼分析系列part1:開篇介紹 02.BlogEngine.Net架構與源代碼分析系列part2:業務對象——共同的父類BusinessBase 03.BlogEngine.Net架構與源代碼分析系列part3:數據存儲——基於Provider模式的實現 04.BlogEngine.Net架構與源代碼分析系列part4:Blog全局設置——BlogSettings 05.BlogEngine.Net架構與源代碼分析系列part5:對象搜索——IPublishable與Search 06.BlogEngine.Net架構與源代碼分析系列part6:開放API——MetaWeblog與BlogImporter 07.BlogEngine.Net架構與源代碼分析系列part7:Web2.0特性——Pingback&Trackback 08.BlogEngine.Net架構與源代碼分析系列part8:擴展——DataStore分析 09.BlogEngine.Net架構與源代碼分析系列part9:開發擴展(上)——Extension與管理上的實現 10.BlogEngine.Net架構與源代碼分析系列part10:開發擴展(中)——Widget小工具 11.BlogEngine.Net架構與源代碼分析系列part11:開發擴展(下)——自定義Theme 12.BlogEngine.Net架構與源代碼分析系列part12:頁面共同的基類——BlogBasePage 13.BlogEngine.Net架構與源代碼分析系列part13:實現分析(上)——HttpHandlers與HttpModules 14.BlogEngine.Net架構與源代碼分析系列part14:實現分析(下)——網站頁面上值得參考的部分 15.BlogEngine.Net架構與源代碼分析系列part15:總結篇 我寫這個系列文章的目的有三個。首先將好的東西分享給你們,其次讓我更加深刻的研究BlogEngine.Net提升本身,最後做爲一個備忘錄存儲在博客園上。