<a href="http://sc.1380000.com/" target="_blank"></a>
不知道大家有沒有看懂這個圖。這個是我的網站(不包括背景管理)的結構圖。基本上和三層架構有些相似,但是有三個不同的地方:
一、 資料通路層。
1、資料通路層針對項目是通用,而針對資料庫卻是專用的。什麼沒看懂,聽我慢慢道來。
針對項目是通用的:在所有的項目裡使用的資料通路層都是一樣的(引用同一個DLL檔案);
資料庫卻是專用的:針對SQL會有一個類庫(DLL檔案),針對Orcale會有另一個類庫(DLL檔案),其它的資料庫也是一樣。
這些類庫(DLL檔案)裡的類名、命名空間是相同的,屬性、方法是一樣的,參數也是一樣的。這樣呢就可以實作更換資料庫的時候換用對應的類庫(DLL檔案)就可以了。
2、資料通路層的功能和SQLHelp的有些類似,它隻是對ADO.NET的進一步的封裝,并不包括實際的SQL語句。也就是說,資料通路層就是通路(添加修改删除等)資料庫的方法,而不包含通路哪個表的功能。
二、 分頁控件。
如果說資料通路層是網站的地基,那麼分頁控件就是“電梯”了。因為這個分頁控件是“跨層”的。吳旗娃的分頁控件隻是工作在UI層,也就是說他的隻是繪制頁面的部分,而我的分頁控件不僅繪制頁面,而且還要負責分頁算法(組合SQL語句)、通路資料庫(調用資料通路層)等工作。
使用分頁控件可以減少很多的代碼,使頁面更簡潔,簡介到就好像是一層結構一樣。
三、 業務邏輯層
網站的業務邏輯是很弱的了,大部分的頁面是根本就用不到的,是以呢基本上是被忽略了。忽略了并不等于沒有了。在需要的時候加上就可以了。
層與對應的頁面
● UI層對應.aspx檔案,功能就是把資料和HTML組合在一起,顯示給使用者浏覽。
● 業務邏輯層,頁面裡面沒有這個字樣,因為它的功能被分散了。
● .aspx.cs檔案,就是.aspx檔案的後置代碼,功能就是負責提供資料。具體點呢就是給分頁控件設定屬性(清單頁面),或者調用資料通路層傳回字元串數組(詳細頁面)。
● .cs檔案。這個就很靈活了,根據需要而定,大部分的頁面是不需要的。目前它的功能就是會員的登入驗證,是否逾時的驗證等。
● 分頁控件。
● 資料通路層。
● 資料庫。
使用的思想并不是面向對象的,而是面向功能的。
<a href="http://www.cnblogs.com/jyk/archive/2007/02/03/639048.html">背景管理結構圖</a>