這個文檔是讓開發者了解nopcommerce解決方案結構的指南。這是新的nopcommerce開發者學習nopcommerce代碼的相關文檔。首先,nopCommerce源代碼是很容易得到的。它是一個開源應用程序,因此,所有你只要從代碼托管完整下載它就行了。在你打開VS以后項目和文件夾都會完整列出來,我們建議你在看此文檔的同時也打開你的VS來瀏覽項目和文件。
大部分項目、目錄和文件的都可以通過名稱,得到設計者的一個粗略想法。例如,這個Nop.Plugin.Payments.PayPalStandard項目,只要看名稱就能猜出它是干什么的。
\Libraries\Nop.Core
Nop.Core項目包含nopcommerce的一系列核心類如緩存,事件,輔助類和業務對象(如訂單和客戶實體類)
\Libraries\Nop.Data
該Nop.Data項目包含了一系列的類和函數來讀取和寫入數據庫或其他數據存儲介質。該Nop.Data庫有助於將數據訪問的邏輯從業務對象中分離出來(分離關注點)。 NopCommerce使用實體框架(EF)Code-First方法。Code-First允許開發人員在源代碼中定義實體(所有核心實體在Nop.Core項目中定義),然后用EF來生成基於C# 類的數據庫。這就是為什么它被稱為Code-First。然后,您可以使用LINQ來查詢對象,因為它會悄悄地把代碼轉化為SQL語句並在數據庫執行。 NopCommerce采用了流暢的API來完全定制持久性映射。如果想了解更多Code-First請訪問這里或這里。
\Libraries\Nop.Services
這個項目包含了一組核心服務,業務邏輯,驗證,以及與數據相關的計算(如果需要的話)。通常叫做業務訪問層(BAL)。
Projects into \Plugins\ solution folder
Plugins是VS的解決方案文件夾,硬盤中它是在你解決方案的根目錄下。由於項目在編譯時的輸入路徑是”..\..\Presentation \Nop.Web\Plugins\{Group}.{Name}\”,這樣插件的DLL會自動地放到 \Presentation\Nop.Web\Plugins\文件夾中,用來放置已部署插件。這樣也能讓插件包含靜態文件比如CSS或JS,就不用在項 目之間拷貝這些文件了。
\Presentation\Nop.Admin
Nop.Admin是一個MVC Web應用程序項目。如果你還沒有使用過ASP.NET MVC,請在這里了解更多的信息。可能你已經猜到這是表示層中的管理后台,你可以在 \Presentation\Nop.Web\Administration文件夾中找到它,該項目不能運行。
\Presentation\Nop.Web
Nop.Web也是一個MVC Web應用程序項目,前台網店的表示層,這個才是你真正要運行的項目,它也是整個應用程序的起始項目。
\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是一個類庫,包含其它測試項目中要用的一共有類和輔助方法。它不具有任何測試用例。
\Test\Nop.Web.MVC.Tests
Nop.Web.MVC.Tests is 是 表示層的測試項目。