zoukankan      html  css  js  c++  java
  • nopCommerce开发者指南(一):nopCommerce源码的组织架构

    原文链接:http://docs.nopcommerce.com/pages/viewpage.action?pageId=1442491

    翻译 by:yersans,如有不妥,敬请指正,博主邮箱:zhanglei0591@qq.com。转载请注明出处。

     

    本篇是关于nopCommerce解决方案设计结构的开发者指南。如果你是nopCommerce新手开发者,那么通过阅读本篇可以帮助你对nopCommerce的源代码有一个基本了解。首先,您很容易获取nopCommerce的源代码,它是一个开源项目,您只需要从nopCommerce官网下载即可。用Visual Studio打开项目解决方案,其组织结构如下图所以。我们推荐您在阅读本文的同时,使用Visual Studio打开并浏览解决方案的相关文件。

     

    方案中的大部分项目文件和文件夹都被适当命名,以便您能借此对其功能有一个粗略的印象。比如,我不需要看Nop.Plugin.Payments.PayPalStandard项目的具体内容就可以猜到它是用来做什么的。

     

    \Libraries\Nop.Core

    Nop.Core项目文件包含了nopCommerce的核心类,诸如缓存、事件和业务对象(例如,Order 和 Customer 实体)。

    \Libraries\Nop.Data

    Nop.Data项目文件包含数据库读写相关的类和函数。我们借此将数据访问逻辑与业务对象分离。nopCommerce 使用 Entity Framework (EF) Code-First 进行数据库访问。它允许你在源码中定义实体(所有核心实体定义在 Nop.Core项目文件中),然后用EF把它生成对应的数据库。这就是它被称为代码优先(Code-First)的原因。之后,你就可以用LINQ查询对象了,LINQ语句会在后台被翻译为SQL语句并对数据库执行相关操作。nopCommerces 统一使用 Fluent API 进行实体映射。你可以点击下面的连接对Code-First做进一步的了解。

    http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

    http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-code-first-walkthrough.aspx

    \Libraries\Nop.Services

    Nop.Services项目文件包含核心服务、业务逻辑,以及与数据相关的必要的验证和运算。即所谓的业务逻辑层。

     

    \Plugins\ 文件夹下的项目

    \Plugins 是存放各种插件项目的解决方案文件夹。它的物理路径在解决方案的根目录下。由于所有插件项目的生成输出路径被设置为"..\..\Presentation\Nop.Web\Plugins\{Group}.{Name}\",因此每个插件的DLL会自动复制到\Presentation\Nop.Web\Plugins\文件夹下,它被用来存放那些已发布的插件。通过这种方式可以允许插件包含一些外部文件,诸如一些静态内容(CSS或JS文件),而无需在项目之间复制即可正常运行。

     

    \Presentation\Nop.Admin

    Nop.Admin 是一个MVC 网站项目,如果您之前还没有使用过ASP.NET MVC,可以点击http://www.asp.net/mvc了解更多相关内容。如你所料,它是表现层的管理功能区域。它的物理路径是\Presentation\Nop.Web\Administration。这个项目不能直接运行。

     

    \Presentation\Nop.Web

    Nop.Web 同样是一个MVC 网站项目,它是商城的表现层,是实际运行时的项目,也是整个解决方案的启动项目。

     

    \Presentation\Nop.Web.Framework

    Nop.Web.Framework 是一个类库项目,它包含了一些Nop.Admin和 Nop.Web公用的表现层相关内容。

     

    \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 是包含一些其他项目所需的公用测试类和助手类的类库项目,它不包含任何测试代码。

     

    \Test\Nop.Web.MVC.Tests

    Nop.Web.MVC.Tests 是表现层项目的测试项目。

  • 相关阅读:
    Laravel中如何将单个routes.php分割成多个子文件
    PHP中“==”运算符的安全问题
    一些需要禁用的PHP危险函数
    使用PHP QR Code生成二维码
    gulp详细入门教程
    h5+分享到微信、朋友圈代码示例
    学习地址
    关于this 方法中套方法中找 立即执行的问题 等问题
    判断条件问题是否存在
    jsp 基础语法
  • 原文地址:https://www.cnblogs.com/yersans/p/4384523.html
Copyright © 2011-2022 走看看