二:【nopcommerce系列】Nop的文件结构,引用关系。如何编译打包部署等

如果,你还没先看第一篇,先看看 一:【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接口的实现者。

这里,需要说一下接口。不了解接口的人一定要去看看接口设计模式。一定要。好处多多,先吃饭去。下回再写。。。。。。

原文地址:https://www.cnblogs.com/Jerseyblog/p/5762150.html