一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
發(fā)布NGuestBook的動(dòng)機(jī)說明
????? 大約在半年前,我在博客上發(fā)表了一個(gè)系列文章:《基于.NET平臺(tái)的分層架構(gòu)實(shí)戰(zhàn)》。當(dāng)時(shí)在講解過程中用到了一個(gè)叫NGuestBook的案例,在那以后,有很多朋友留言或發(fā)E-mail希望能得到NGuestBook的完整源代碼,以便對(duì)照文章研究學(xué)習(xí)。但是,在當(dāng)時(shí)NGuestBook只是我虛擬的一個(gè)案例,并沒有成型的系統(tǒng)和完整的源代碼。
????? 但是后來一直有很多朋友詢問這個(gè)事情,所以我覺得,將那個(gè)NGuestBook做出來還是很有必要的,所以,我花了兩天的時(shí)間大約做出了這個(gè)NGuestBook,現(xiàn)在把它發(fā)布出來,希望能給大家一些幫助。
這個(gè)NGuestBook與文章中案例的聯(lián)系與區(qū)別
????? 雖然這個(gè)留言本系統(tǒng)與那個(gè)系列文章中的NGuestBook同名,但是就具體實(shí)現(xiàn)來說,有一些不同。雖然如此,“分層架構(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)說明
????? 1.整體采用三層架構(gòu):數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、表示層
????? 2.數(shù)據(jù)訪問層使用Linq to Sql,XML,及SQL語句方式分別實(shí)現(xiàn)一個(gè),在這個(gè)發(fā)布版本中,只有Linq to Sql方式的數(shù)據(jù)訪問層可以使用,另外兩個(gè)留出擴(kuò)展。
????? 3.業(yè)務(wù)邏輯層通過接口耦合數(shù)據(jù)訪問層,全局采用Abstract Factory+反射機(jī)制+緩存機(jī)制實(shí)現(xiàn)依賴注入功能。
????? 4.表示層使用ASP.NET MVC實(shí)現(xiàn),與業(yè)務(wù)邏輯層直接耦合。
????? 工程說明:
????? NGuestBook.BusinessComponent:業(yè)務(wù)邏輯組件
????? NGuestBook.Entities:實(shí)體類
????? NGuestBook.Factories:依賴注入組件
????? NGuestBook.Interfaces:接口組件
????? NGuestBook.LinqDataComponent:使用Linq to Sql實(shí)現(xiàn)的數(shù)據(jù)訪問組件
????? NGuestBook.SQLDataComponent:使用SQL實(shí)現(xiàn)的數(shù)據(jù)訪問組件
????? NGuestBook.Utilities:工具組件
????? NGuestBook.Web:表示層
????? NGuestBook.XMLDataComponent:使用XML實(shí)現(xiàn)的數(shù)據(jù)訪問組件
特別說明
????? 1.數(shù)據(jù)庫(kù)文件在/NGuestBook.Web/Data/SQLServer2005下。
????? 2.這個(gè)系統(tǒng)還不太完善,只為了突出架構(gòu)特征,而一些細(xì)節(jié)像分頁、驗(yàn)證碼等功能沒有加入。
????? 3.這個(gè)系統(tǒng)沒有加入Ajax元素。
????? 4.這個(gè)系統(tǒng)的目的是交流學(xué)習(xí)的Demo,并不是真正要投入使用,如果真要做一個(gè)留言本,完全沒有必要用這么復(fù)雜的架構(gòu),這里只是為了突出架構(gòu)的方式。所以請(qǐng)不要在留言中表達(dá)“做個(gè)留言本沒必要如此復(fù)雜”或“留言本我一個(gè)小時(shí)就能做出來”之類的意思。
版權(quán)聲明
????? 本系統(tǒng)和源代碼部分或全部可以任意拷貝、傳播或用于自己的系統(tǒng)中,但不包括用于商業(yè)用途。
????? 本系統(tǒng)中自由傳播的成分僅僅包括代碼,而其中一些原創(chuàng)的思想或模式(包括但不限於“數(shù)據(jù)驗(yàn)證模式”,“基于ASP.NET MVC的回傳模型重組模式”等)等一些理論性內(nèi)容已經(jīng)納入本人的論文選題內(nèi),所以不允許將本系統(tǒng)中原創(chuàng)的思想或模式撰寫成論文,一經(jīng)發(fā)現(xiàn)將追究法律責(zé)任。
開發(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?
配置說明
????? 連接字符串在/NGuestBook.LinqDataComponent/app.config中,請(qǐng)根據(jù)具體情況自行修改。
????? 管理員的登錄名和密碼在/NGuestBook.Web/Web.config中,<appSettings>節(jié)點(diǎn)下的"AdminName"和"AdminPassword",默認(rèn)均為"admin"。需要可以自行修改。
總結(jié)
以上是生活随笔為你收集整理的一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凭什么还不自信!!
- 下一篇: windows下的NTP服务