為什麼要有命名空間?類多了不便于管理,把他們給他分個類整理一下,便于管理。
那麼命名空間就有了兩個使命,分類和辨別。其實辨別也是一種分類。
我們打開Reflector.exe看看.net架構裡的命名空間。System開頭,這個就是一種辨別吧,表示這是.net架構提供的類,和第三方提供的類可以有一個明确的卻分。
再往後看,System.Data和資料打交道的,
System.Web和網頁webform相關的。
System.Drawing畫圖的。這就是一種分類,通過這種分類我們可以快速找到我們所關心的類。
比如我們要通路SQL Server,那麼System.Data.SqlClient這裡就是我們所需要的。
自然架構裡的命名空間
自然架構的命名空間也是仿照這個來做的。Nature開頭,表示這些都是自然架構裡的類,和.net架構提供的類、其他第三方提供的類相差別。
Nature.Common:通用函數,常用的小的函數,比如輸出js腳本等,比較常用,直接寫有一點麻煩的哪些代碼小小的封裝一下。
Nature.Data:和資料庫操作相關的。
Nature.UDRM:控件和字段的“黏合劑”。
Nature.WebControls:自定義控件。
Nature.WebControls.Pager:QuickPager分頁控件。
Nature.WebControls.Pager.SQL:分頁用的分頁算法(即提取資料的SQL語句)。
Nature.UI.Base:頁面基類裡的共用基類。
Nature.UI.Common:共用頁面。
Nature.Role:角色管理。
Nature.User:目前登入人資訊管理。
Nature.Manage:配置資訊管理管理相關。
這樣是不是明确了一些呢?
如有錯誤歡迎各路高手及時糾正!以免誤人子弟。
還是那個地方,沒有變。
===================================================
自然架構裡面有一個地方有點特别,一般的情況架構都是隻提供DLL。自然架構除了引用DLL外,還可以“引用”頁面。
就是說BaseUI子產品和RoleManage子產品,如果要用的話,那麼不僅需要引用DLL,還需要把相關的頁面也copy到項目裡。請注意:頁面并不需要“包含到項目”,隻需要放在對應的檔案夾裡面即可。
這樣做的目的就是為了我們在做一個新的項目的時候隻需要把這些DLL和頁面弄過來,那麼我們就有了一個基本的功能——角色管理。這樣就可以事半功倍了。
而且“角色管理”是以子產品的形式出現,在項目裡是不能修改的,這樣就避免了版本不一緻的問題。而且角色管理如果更新了(比如增加新功能),那麼就可以把DLL和對應的頁面分發給項目,替換一下,就可以獲得新的功能,和項目的其他功能不會出現沖突的情況。