釋出NGuestBook的動機說明
但是後來一直有很多朋友詢問這個事情,是以我覺得,将那個NGuestBook做出來還是很有必要的,是以,我花了兩天的時間大約做出了這個NGuestBook,現在把它釋出出來,希望能給大家一些幫助。
這個NGuestBook與文章中案例的聯系與差別
雖然這個留言本系統與那個系列文章中的NGuestBook同名,但是就具體實作來說,有一些不同。雖然如此,“分層架構”這個核心還是一樣的,是以,這個Demo完全可以和那個文章系列配套使用,因為其核心架構思想、方式基本一緻,隻是具體實作有了一些差别。
NGuestBook功能概覽
NGuestBook是一個留言本系統,主要實作了以下功能:
1.釋出留言,浏覽留言
2.管理者的登入、登出
3.管理者對留言進行稽核、删除、回複
下面給出幾幅系統運作截圖:
NGuestBook總體架構說明
1.整體采用三層架構:資料通路層、業務邏輯層、表示層
2.資料通路層使用Linq to Sql,XML,及SQL語句方式分别實作一個,在這個釋出版本中,隻有Linq to Sql方式的資料通路層可以使用,另外兩個留出擴充。
3.業務邏輯層通過接口耦合資料通路層,全局采用Abstract Factory+反射機制+緩存機制實作依賴注入功能。
4.表示層使用ASP.NET MVC實作,與業務邏輯層直接耦合。
工程說明:
NGuestBook.BusinessComponent:業務邏輯元件
NGuestBook.Entities:實體類
NGuestBook.Factories:依賴注入元件
NGuestBook.Interfaces:接口元件
NGuestBook.LinqDataComponent:使用Linq to Sql實作的資料通路元件
NGuestBook.SQLDataComponent:使用SQL實作的資料通路元件
NGuestBook.Utilities:工具元件
NGuestBook.Web:表示層
NGuestBook.XMLDataComponent:使用XML實作的資料通路元件
特别說明
1.資料庫檔案在/NGuestBook.Web/Data/SQLServer2005下。
2.這個系統還不太完善,隻為了突出架構特征,而一些細節像分頁、驗證碼等功能沒有加入。
3.這個系統沒有加入Ajax元素。
4.這個系統的目的是交流學習的Demo,并不是真正要投入使用,如果真要做一個留言本,完全沒有必要用這麼複雜的架構,這裡隻是為了突出架構的方式。是以請不要在留言中表達“做個留言本沒必要如此複雜”或“留言本我一個小時就能做出來”之類的意思。
版權聲明
本系統和源代碼部分或全部可以任意拷貝、傳播或用于自己的系統中,但不包括用于商業用途。
本系統中自由傳播的成分僅僅包括代碼,而其中一些原創的思想或模式(包括但不限於“資料驗證模式”,“基于ASP.NET MVC的回傳模型重組模式”等)等一些理論性内容已經納入本人的論文選題内,是以不允許将本系統中原創的思想或模式撰寫成論文,一經發現将追究法律責任。
開發/運作環境
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中,請根據具體情況自行修改。
管理者的登入名和密碼在/NGuestBook.Web/Web.config中,<appSettings>節點下的"AdminName"和"AdminPassword",預設均為"admin"。需要可以自行修改。