如果,你还没先看第一篇,先看看 一:【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接口的实现者。
这里,需要说一下接口。不了解接口的人一定要去看看接口设计模式。一定要。好处多多,先吃饭去。下回再写。。。。。。