|
發(fā)布NGuestBook的動機說明
大約在半年前,我在博客上發(fā)表了一個系列文章:《基于.NET平臺的分層架構(gòu)實戰(zhàn)》。當(dāng)時在講解過程中用到了一個叫NGuestBook的案例,在那以后,有很多朋友留言或發(fā)E-mail希望能得到NGuestBook的完整源代碼,以便對照文章研究學(xué)習(xí)。但是,在當(dāng)時NGuestBook只是我虛擬的一個案例,并沒有成型的系統(tǒng)和完整的源代碼。
但是后來一直有很多朋友詢問這個事情,所以我覺得,將那個NGuestBook做出來還是很有必要的,所以,我花了兩天的時間大約做出了這個NGuestBook,現(xiàn)在把它發(fā)布出來,希望能給大家一些幫助。
這個NGuestBook與文章中案例的聯(lián)系與區(qū)別
雖然這個留言本系統(tǒng)與那個系列文章中的NGuestBook同名,但是就具體實現(xiàn)來說,有一些不同。雖然如此,“分層架構(gòu)”這個核心還是一樣的,所以,這個Demo完全可以和那個文章系列配套使用,因為其核心架構(gòu)思想、方式基本一致,只是具體實現(xiàn)有了一些差別。
NGuestBook功能概覽
NGuestBook是一個留言本系統(tǒng),主要實現(xiàn)了以下功能:
1.發(fā)布留言,瀏覽留言
2.管理員的登錄、登出
3.管理員對留言進行審核、刪除、回復(fù)
下面給出幾幅系統(tǒng)運行截圖:
NGuestBook總體架構(gòu)說明
1.整體采用三層架構(gòu):數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、表示層
2.數(shù)據(jù)訪問層使用Linq to Sql,XML,及SQL語句方式分別實現(xiàn)一個,在這個發(fā)布版本中,只有Linq to Sql方式的數(shù)據(jù)訪問層可以使用,另外兩個留出擴展。
3.業(yè)務(wù)邏輯層通過接口耦合數(shù)據(jù)訪問層,全局采用Abstract Factory+反射機制+緩存機制實現(xiàn)依賴注入功能。
4.表示層使用ASP.NET MVC實現(xiàn),與業(yè)務(wù)邏輯層直接耦合。
工程說明:
NGuestBook.BusinessComponent:業(yè)務(wù)邏輯組件
NGuestBook.Entities:實體類
NGuestBook.Factories:依賴注入組件
NGuestBook.Interfaces:接口組件
NGuestBook.LinqDataComponent:使用Linq to Sql實現(xiàn)的數(shù)據(jù)訪問組件
NGuestBook.SQLDataComponent:使用SQL實現(xiàn)的數(shù)據(jù)訪問組件
NGuestBook.Utilities:工具組件
NGuestBook.Web:表示層
NGuestBook.XMLDataComponent:使用XML實現(xiàn)的數(shù)據(jù)訪問組件
特別說明
1.數(shù)據(jù)庫文件在/NGuestBook.Web/Data/SQLServer2005下。
2.這個系統(tǒng)還不太完善,只為了突出架構(gòu)特征,而一些細節(jié)像分頁、驗證碼等功能沒有加入。
3.這個系統(tǒng)沒有加入Ajax元素。
4.這個系統(tǒng)的目的是交流學(xué)習(xí)的Demo,并不是真正要投入使用,如果真要做一個留言本,完全沒有必要用這么復(fù)雜的架構(gòu),這里只是為了突出架構(gòu)的方式。所以請不要在留言中表達“做個留言本沒必要如此復(fù)雜”或“留言本我一個小時就能做出來”之類的意思。
版權(quán)聲明
本系統(tǒng)和源代碼部分或全部可以任意拷貝、傳播或用于自己的系統(tǒng)中,但不包括用于商業(yè)用途。
本系統(tǒng)中自由傳播的成分僅僅包括代碼,而其中一些原創(chuàng)的思想或模式(包括但不限於“數(shù)據(jù)驗證模式”,“基于ASP.NET MVC的回傳模型重組模式”等)等一些理論性內(nèi)容已經(jīng)納入本人的論文選題內(nèi),所以不允許將本系統(tǒng)中原創(chuàng)的思想或模式撰寫成論文,一經(jīng)發(fā)現(xiàn)將追究法律責(zé)任。
開發(fā)/運行環(huán)境
Windows XP SP2 中文版
Microsoft .NET framework 3.5 SP1
Microsoft Visual Studio 2008 SP1
Microsoft ASP.NET MVC RC
Microsoft SQLServer2005
配置說明
連接字符串在/NGuestBook.LinqDataComponent/app.config中,請根據(jù)具體情況自行修改。
管理員的登錄名和密碼在/NGuestBook.Web/Web.config中,<appSettings>節(jié)點下的"AdminName"和"AdminPassword",默認均為"admin"。需要可以自行修改。
NET技術(shù):發(fā)布NGuestBook(一個基于.NET平臺的分層架構(gòu)留言本小系統(tǒng)),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。