nopCommerce架構分析系列(一)nopCommerce簡介


題外話

作為一個菜鳥,很少去設計一個軟件的架構,水平太窪了,但這擋不住俺對架構的興趣。最近在研究MVC3,園子里有人推薦nopCommerce挺不錯的,正好nopCommerce是用MVC3開發的,於是下載其工程,覺得其架構設計的不錯,於是要和大家一起分享一下我對該項目架構的研究。

nopCommerce簡介

nopcommerce是國外的一個高質量的開源b2c網站系統,基於EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很強的插件機制,包括支付配送功能都是通過插件來實現的,基於xml的多語言版本,非常靈活的語言切換功能,包括在后台都能同時編輯產品的中英文屬性,非常適合做外貿,優秀超前的程序架構,性能也非常強大,自定義的產品名稱和分類又有很好的seo優化。綜合能力遠遠高於國內的一些程序架構糟糕的.net商城程序,是二次開發和大型b2c架構的首選。——節選自百度百科

nopCommerce的源代碼結構和架構(轉)

(該部分內容本來自己寫的,發現已有現成的,就轉過來了。ps:本人很懶,如有現成的不會再去做,覺得再去做就是浪費時間,文章來源http://www.dingsea.com/?p=552,http://www.ddpanda.com/?p=388

編寫本文檔是為了向程序員說明nopcommerce的解決方案結構,亦是程序員開發nopcommerce的居家必備良書。首先nopcommerce的源代碼很容易拿到,它是開源的,所以你可以直接到網上下載。 在你打開VS以后項目和文件夾都會完整列出來,我們建議你在看此文檔的同時也打開你的VS來瀏覽項目和文件。
nopcommerce 架構圖

絕大多數的項目,目錄和文件都顧名思義,你可以從名字就大概知道是做什么的。比如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是一個類庫,包含其它測試項目中要用的一共有類和輔助方法,此項目不包含任何測試用例。

 

nopCommerce架構分析系列目錄

本人將從以下幾個方面來進行我的nopCommerce之旅,歡迎有興趣朋友與我交流討論。


1、nopCommerce架構分析系列(一)nopCommerce簡介
2、nopCommerce架構分析系列(二)數據Cache
3、nopCommerce架構分析系列(三)數據持久化
4、nopCommerce架構分析系列(四)數據驗證
5、nopCommerce架構分析系列(五)事件設計及處理
6、nopCommerce架構分析系列(六)文件IO
7、nopCommerce架構分析系列(七)配置文件
8、nopCommerce架構分析系列(八)權限認證
9、nopCommerce架構分析系列(九)IOC容器
10、nopCommerce架構分析系列(十)Nop引擎
11、nopCommerce架構分析系列(十一)Plugin(組件化開發)
12、nopCommerce架構分析系列(十二)前端展示
13、nopCommerce架構分析系列(十三)后台管理
14、nopCommerce架構分析系列(十四)其他
15、nopCommerce架構分析系列(十五)架構總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM