如果,你還沒先看第一篇,先看看 一:【nopcommerce系列】Nop整體架構的簡單介紹,在看nop代碼之前,你需要懂哪些東西
如果你確定你已經看完了第一篇,並且真的理解 mvc、和autofac,以及了解entity framework。然后接着往下看。
先看看下載解壓后的解決方案。最主要的幾個部分:
Libraries 文件夾下
Nop.Core : Nop的核心一些類,比如:緩存系統,事件通知系統,配置信息等
Nop.Data:與數據庫打交道的一些東西,比如entity framework的映射關系配置,dbcontext的增刪改查的封裝
Nop.Services:對接口的實現,全部的核心邏輯
Plugins文件夾下
全部是插件項目,先不管,不影響閱讀nop的源代碼。
Presentation文件夾下:
Nop.Admin 后台管理系統
Nop.Web 網站前台系統
Nop.Web.Framework web框架的一些東西
Tests 單元測試的
像 Nop.Core 中的,很多東西可以直接復制出來丟進自己項目中用,比如緩存管理類
這些文件結構大概了解一下,就可以。
然后選中那個 Nop.Web 發布,把源代碼打包出來以后部署到IIS,訪問一下。如果沒有 .net 4.5 的自己安裝一下。
訪問以后會讓你填寫數據庫相關信息和管理員帳號信息什么的。添加之,就能看到Nop的首頁了。
后台先不用管。先到處看看首頁。
現在來介紹一下它是怎么運行的
打開Nop.Web下的 Global.asax 的 RegisterRoutes 方法中有兩句
var routePublisher = EngineContext.Current.Resolve<IRoutePublisher>();
routePublisher.RegisterRoutes(routes);
這是注冊路由的。如果看了 第一篇了解了mvc就知道是怎么回事。第一句是,autofac,得到IRoutePublisher接口的實現者。
這里,需要說一下接口。不了解接口的人一定要去看看接口設計模式。一定要。好處多多,先吃飯去。下回再寫。。。。。。