文章目錄
- \Plugins\ 檔案夾中的那些項目
- \Presentation\Nop.Admin
- \Presentation\Nop.Web
- \Presentation\Nop.Web.Framework
- \Test\Nop.Core.Tests
- \Test\Nop.Data.Tests
- \Test\Nop.Services.Tests
- \Test\Nop.Tests
編寫本文檔是為了向程式員說明nopcommerce的解決方案結構,亦是程式員開發nopcommerce的居家必備良書。首先 nopcommerce的原始碼很容易拿到,它是開源的,所以你可以直接到網上下載。 在你開啟VS以後項目和檔案夾都會完整列出來,我們建議你在看此文檔的同時也開啟你的VS來瀏覽項目和檔案。
文章說明:文章來源自我的部落格,於原文之理解而翻譯,並非出版社那種按字詞翻譯風格。歡迎各位提出意見,也歡迎各位轉載不過務必註明本文原址。更多 nopcommerce的文章請關注http://www.dingsea.com/?tag=nopcommerce,或者加入我們的QQ群 101675096
絕大多數的項目,目錄和檔案都顧名思義,你可以從名字就大概知道是做什麼的。比如Nop.Plugin.Payments.PayPalStandard這個我都不用看項目代碼就能猜到做什麼的。
\Libraries\Nop.Core
Nop.Core項目包含nopcommerce的一系列核心類如緩衝,事件,輔助類和業務對象(如訂單和客戶實體類)
\Libraries\Nop.Data
Nop.Data項目包含一系列的資料訪問類和方法以從資料庫或其他資料媒介讀取和儲存資料。它也有助於把資料訪問邏輯和你的業務對象分離。 nopcommerce使用Entity Framework (EF) Code-First方法,允許你在nopcommerce代碼中定義實體 (所有的核心實體類都在Nop.Core中定義),再讓EF產生資料庫,這就是為什麼會叫Code-First。你接下來可以用LINQ來查詢對象,它自 己會把查詢轉換為SQL語句並在資料庫裡執行。nopcommerce擁有牛B的API讓你完全定製持久映射,你可以在這兒和這兒找到Code- First的資料。
\Libraries\Nop.Services
此項目包含一系列的核心服務,商務邏輯,驗證,如果有資料的話還有資料的計算方法,也就是傳說中的業務訪問層(BAL)
\Plugins\ 檔案夾中的那些項目
Plugins是VS的解決方案檔案夾,硬碟中它是在你解決方案的根目錄下。由於項目在編譯時間的輸入路徑是”..\..\Presentation \Nop.Web\Plugins\{Group}.{Name}\”,這樣外掛程式的DLL會自動地放到 \Presentation\Nop.Web\Plugins\檔案夾中,用來放置已部署外掛程式。這樣也能讓外掛程式包含靜態檔案比如CSS或JS,就不用在項 目之間拷貝這些檔案了。
\Presentation\Nop.Admin
Nop.Admin是一MVC項目,如果你還從沒用過ASP.NET MVC,請猛擊這兒有更多資訊。可能你已經猜到這是展示層中的管理後台,你可以在 \Presentation\Nop.Web\Administration檔案夾中找到它,此項目不能運行。
\Presentation\Nop.Web
Nop.Web也是一MVC項目,前台網店的展示層,這個才是你真正要跑起來的項目,它也是整個應用程式的起始項目。
\Presentation\Nop.Web.Framework
Nop.Web.Framework是一個展示層的類庫項目,包括可以讓後台和前台使用的一些共用的展示功能。
\Test\Nop.Core.Tests
Nop.Core.Tests是Nop.Core的測試專案
\Test\Nop.Data.Tests
Nop.Data.Tests是Nop.Data的測試專案
\Test\Nop.Services.Tests
Nop.Services.Tests是 Nop.Services的測試專案
\Test\Nop.Tests
Nop.Tests是一個類庫,包含其它測試專案中要用的一共有類和輔助方法,此項目不包含任何測試案例