.NET大型B2C开源项目nopcommerce解析——项目结构

编写本文档是为了向程序员说明nopcommerce的解决方案结构,亦是程序员开发nopcommerce的居家必备良书。首先nopcommerce的源代码很容易拿到,它是开源的,所以你可以直接到网上下载。 在你打开VS以后项目和文件夹都会完整列出来,我们建议你在看此文档的同时也打开你的VS来浏览项目和文件。

绝大多数的项目,目录和文件都顾名思义,你可以从名字就大概知道是做什么的。比如Nop.Plugin.Payments.PayPalStandard这个我都不用看项目代码就能猜到做什么的。
\Libraries\Nop.Core
Nop.Core项目包含nopcommerce的一系列核心类如缓存,事件,辅助类和业务对象(如订单和客户实体类)
\Libraries\Nop.Data
Nop.Data项目包含一系列的数据访问类和方法以从数据库或其他数据媒介读取和保存数据。它也有助于把数据访问逻辑和你的业务对象分离。 nopcommerce使用Entity Framework (EF) Code-First方法,允许你在nopcommerce代码中定义实体 (所有的核心实体类都在Nop.Core中定义),再让EF生成数据库,这就是为什么会叫Code-First。你接下来可以用LINQ来查询对象,它自己会把查询转换为SQL语句并在数据库里执行。nopcommerce拥有牛B的API让你完全定制持久映射,你可以在这儿和这儿找到Code-First的资料。
\Libraries\Nop.Services
此项目包含一系列的核心服务,业务逻辑,验证,如果有数据的话还有数据的计算方法,也就是传说中的业务访问层(BAL)

\Plugins\ 文件夹中的那些项目

Plugins是VS的解决方案文件夹,硬盘中它是在你解决方案的根目录下。由于项目在编译时的输入路径是”..\..\Presentation\Nop.Web\Plugins\{Group}.{Name}\”,这样插件的DLL会自动地放到 \Presentation\Nop.Web\Plugins\文件夹中,用来放置已部署插件。这样也能让插件包含静态文件比如CSS或JS,就不用在项目之间拷贝这些文件了。

\Presentation\Nop.Admin

Nop.Admin是一MVC项目,如果你还从没用过ASP.NET MVC,请猛击这儿有更多信息。可能你已经猜到这是表示层中的管理后台,你可以在 \Presentation\Nop.Web\Administration文件夹中找到它,此项目不能运行。

\Presentation\Nop.Web

Nop.Web也是一MVC项目,前台网店的表示层,这个才是你真正要跑起来的项目,它也是整个应用程序的起始项目。

\Presentation\Nop.Web.Framework

Nop.Web.Framework是一个表示层的类库项目,包括可以让后台和前台使用的一些共用的展示功能。

\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是一个类库,包含其它测试项目中要用的一共有类和辅助方法,此项目不包含任何测试用例

(002).NET大型B2C开源项目nopcommerce解析——安装页面

摘要: 本文主要介绍安装页面涉及到实现的功能以及原理。 初次启动nopcommerce会进入一个URL为”/install”的页面,这个页面涉及到了2个功能:1.页面全球化;2.数据准备工作。0.储备知识特性javascript事件cookie多活动结果集1.页面全球化1.1显示区域文字 在安装页面右下角...阅读全文
posted @ 2014-08-28 21:02 Cherbim 阅读(621) | 评论 (5) 编辑
 
(000).NET大型B2C开源项目nopcommerce解析——目录

摘要: nopcommerce是asp.net领域一个高质量的开源b2c项目,基于EntityFramework和MVC。行文遵循本人学习路线图,所以有时会在各个层级欢快地跳转。也许也会有一段时间内各种转载他人文章。或者,某一天突然当上了现实充,决定断更了也说不定。架构分析(001)[转].NET大型B2C...阅读全文
posted @ 2014-08-28 13:28 Cherbim 阅读(118) | 评论 (0) 编辑
 
(001)[转].NET大型B2C开源项目nopcommerce解析——项目结构

摘要: 编写本文档是为了向程序员说明nopcommerce的解决方案结构,亦是程序员开发nopcommerce的居家必备良书。首先nopcommerce的源代码很容易拿到,它是开源的,所以你可以直接到网上下载。 在你打开VS以后项目和文件夹都会完整列出来,我们建议你在看此文档的同时也打开你的VS来浏览项目和文件。 绝大多数的项目,目录和文件都顾名思义,你可以从名字就大概知道是做什么的。比如Nop.Plu...阅读全文
posted @ 2014-08-28 00:40 Cherbim 阅读(224) | 评论 (0) 编辑

分类: nopcommerce

.NET大型B2C开源项目nopcommerce解析——项目结构的更多相关文章

  1. 基于nopcommerce b2c开源项目的精简版开发框架Nop.Framework

    http://www.17ky.net/soft/70612.html?v=1#0-sqq-1-39009-9737f6f9e09dfaf5d3fd14d775bfee85 项目详细介绍 该开源项目是 ...

  2. 开源OSS.Social微信项目进阶介绍

    在开源OSS.Social微信项目解析的随笔中,我简单给大家分享了进行中微信项目的概要设计,主要在讲述解决思路和过程,没有详细实现和使用介绍.本着不能马虎的态度,这篇文章我来给大家分解一下项目结构,使 ...

  3. HubbleDotNet开源全文搜索数据库项目--技术详解

    HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene.Net 匹配相关度的比较 HubbleDotNet 软件架 ...

  4. Flink 源码解析 —— 项目结构一览

    Flink 源码项目结构一览 https://t.zsxq.com/MNfAYne 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Mac ...

  5. AngularJS进阶(三十九)基于项目实战解析ng启动加载过程

    基于项目实战解析ng启动加载过程 前言 在AngularJS项目开发过程中,自己将遇到的问题进行了整理.回过头来总结一下angular的启动过程. 下面以实际项目为例进行简要讲解. 1.载入ng库 2 ...

  6. 开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客

    开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客   http://blog.csdn.net/shlazww/article/details/38 ...

  7. Ganglia开源集群监视项目

    Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要 是用来监控系统性能,如:cpu ...

  8. Git,SVN的优缺点及适合的范围,开源项目?公司项目?

    Git,SVN的优缺点及适合的范围,开源项目?公司项目? 使用git不久,粗浅理解: 1)适用对象不同.Git适用于参与开源项目的开发者.他们由于水平高,更在乎的是效率而不是易用性.Svn则不同,它适 ...

  9. Vue-cli2项目文件目录解析

    前言 不是原创,真的不是原创,主要我是根据CSDN的一篇文章和其他平台上的文章整理而来,在最后我会贴上所有原文的地址,下面正式进入正文. Vue-cli项目文件目录结构 这个是Vue-cli2.0版本 ...

随机推荐

  1. linux 文件系统解析及相关命令(转)

    简介 文件系统就是分区或磁盘上的所有文件的逻辑集合. 文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中. 不同Lin ...

  2. java+js实现完整的图片展示本地目录demo

    java+js实现完整的图片展示本地目录demo 最近的项目满足需要,实现通过一个前端button点击事件,流行音乐浏览下的全部图片: 思路: - 获取到所需展示图片的本地目录内全部图片的文件绝对路径 ...

  3. 应用ExcelPackage导出Excel

    前阵子工作需要,要实现从数据库中导出数据到Excel.老套路 先去百度上查阅资料,发现了以下几种方法: 1:将DataGrid控件中的数据导出Excel 2:将dataview导出excel 3:从网 ...

  4. getBoundingClientRect的用法

    getBoundingClientRect用于获取某个元素相对于视窗的位置集合.集合中有top, right, bottom, left等属性. 1.语法:这个方法没有参数. rectObject = ...

  5. 解决:<net.sf.ehcache.util.UpdateChecker> : New update(s) found: 2.6.5

    由于该项目采用ehcache,所以tomcat每次登录你开始打印net.sf.ehcache.util.UpdateChecker doCheck 一旦有没有特别关注.从今天开始 Tomcat 什么时 ...

  6. php_常用操作_读取文件_数据库操作

    作为php新手 ,把经常用到的phpcode,做个备份 1: 文件处理 //读取配置 启动是指定文件 $filepath=$argv[1]; if(null==$filepath){ echo&quo ...

  7. auto tool: make -2014-1210-0001

    /* *Author : DavidLin *Date : 2014-12-10pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *wo ...

  8. maven_基本配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. 软件开发V型号

    RAD(rap application development),就是软件开发过程中的一个重要模型,称为高速应用开发模型.其模型构图形似字母V,所以又称V模型.      他通过开发和測试同一时候进行 ...

  10. Swift语言指南(五)--数字字面量和数字类型转换

    原文:Swift语言指南(五)--数字字面量和数字类型转换 数字字面量 整数字面量写法如下: · 十进制数,无前缀 · 二进制数,以 0b 为前缀 · 八进制数,以 0o 为前缀 · 十六进制数,以 ...