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