这个文档是让开发者了解nopcommerce解决方案结构的指南。这是新的nopcommerce开发者学习nopcommerce代码的相关文档。首先,nopCommerce源代码是很容易得到的。它是一个开源应用程序,因此,所有你只要从代码托管完整下载它就行了。在你打开VS以后项目和文件夹都会完整列出来,我们建议你在看此文档的同时也打开你的VS来浏览项目和文件。
大部分项目、目录和文件的都可以通过名称,得到设计者的一个粗略想法。例如,这个Nop.Plugin.Payments.PayPalStandard项目,只要看名称就能猜出它是干什么的。
Nop.Core项目包含nopcommerce的一系列核心类如缓存,事件,辅助类和业务对象(如订单和客户实体类)
该Nop.Data项目包含了一系列的类和函数来读取和写入数据库或其他数据存储介质。该Nop.Data库有助于将数据访问的逻辑从业务对象中分离出来(分离关注点)。 NopCommerce使用实体框架(EF)Code-First方法。Code-First允许开发人员在源代码中定义实体(所有核心实体在Nop.Core项目中定义),然后用EF来生成基于C# 类的数据库。这就是为什么它被称为Code-First。然后,您可以使用LINQ来查询对象,因为它会悄悄地把代码转化为SQL语句并在数据库执行。 NopCommerce采用了流畅的API来完全定制持久性映射。如果想了解更多Code-First请访问这里或这里。
这个项目包含了一组核心服务,业务逻辑,验证,以及与数据相关的计算(如果需要的话)。通常叫做业务访问层(BAL)。
Plugins是VS的解决方案文件夹,硬盘中它是在你解决方案的根目录下。由于项目在编译时的输入路径是”..\..\Presentation \Nop.Web\Plugins\{Group}.{Name}\”,这样插件的DLL会自动地放到 \Presentation\Nop.Web\Plugins\文件夹中,用来放置已部署插件。这样也能让插件包含静态文件比如CSS或JS,就不用在项 目之间拷贝这些文件了。
Nop.Admin是一个MVC Web应用程序项目。如果你还没有使用过ASP.NET MVC,请在这里了解更多的信息。可能你已经猜到这是表示层中的管理后台,你可以在 \Presentation\Nop.Web\Administration文件夹中找到它,该项目不能运行。
Nop.Web也是一个MVC Web应用程序项目,前台网店的表示层,这个才是你真正要运行的项目,它也是整个应用程序的起始项目。
Nop.Web.Framework是一个表示层的公共类库项目,包括可以让后台和前台使用的一些共用的展示功能。
Nop.Core.Tests是Nop.Core 项目的测试项目。
Nop.Data.Tests是 Nop.Data 项目的测试项目。
Nop.Services.Tests 是 Nop.Services 项目的测试项目。
Nop.Tests是一个类库,包含其它测试项目中要用的一共有类和辅助方法。它不具有任何测试用例。
Nop.Web.MVC.Tests is 是 表示层的测试项目。