首先,我看的是Nop 3.80,最新版

百度资料很多,Nop用到的主要的技术有:

1、Mvc,最新版用的是 5.2.3.0

2、entity framework

3、autofac

4、插件化

5、(因为我是边看代码边写这个博客,怕忘记了一些东西,所以边看便记录,后面我看到感觉有好处的会添加到这里来)

1、mvc,不说了,百度一堆资料。如果不熟悉的同学可以参考 这里 这篇文章里面有一个很基础的mvc教程。非常不错。

2、entity framework,这个讲真,我以前不用,因为做的是电商类项目,然后之前的框架根本没用到这个。所以不是很理解它。对它的第一次接触,便是这个nop项目阅读,然后感觉不搞懂它就有些地方看不明白,所以花了点时间去学习entity framework,mvc的教程里面包含了entity framework。这里说明一下,nop用的是code-first,也就是代码创建数据库。

关于entity framework 的资料,可以参考一下 这里 (ps:这些是我在阅读nop源代码的时候,看的一些资料,还有挺多地址,我这里不一一贴出来,大家百度一下。博客园还是有很多好文章的。)

需要说明的是,如果你对entity framework 不是很感兴趣,那大致了解一下就可以。但是最基本的,怎么配置映射表名,怎么配置约束,怎么配置一对多 多对多等。最好了解一下。有助于后面说理解nop的代码。

3、autofac,这个依赖注入与控制反转的第三方库,具体用法可以看 这里 这个做作业有一个系列,还是很不错的。说明:一定要理解autofac的作用,因为nop的代码很多地方都是面向接口设计,如果不理解autofac的作用和写法,后面理解代码比较困难。我花了大概一天多的时间去各种百度各种测试。。。。。

4、插件化:讲真,还没仔细理解它的插件化结构,先不写,后面补上。不会影响阅读和理解nop的代码。我保证。

如果你跟着我上面说的,把那几个文章仔细认真看完了。现在你应该能能够搭建一个简单的,基于mvc+entity framework的增删改查的例子了。对的,你可以按照mvc例子上一模一样的例子写一个。只要理解就可以。先不要急着去看nop的代码,因为现在打开nop的代码,如果你不懂上面说的那几个,绝对是一脸蒙逼表情的。讲真,第一次打算看nop的源代码是一年多前,一个朋友给我推荐的,但是我下载完了看了一下,几乎不知道是怎么回事。放弃之。。。第二次另外一个朋友又推荐,才下决心要看。。。

so,如果你也感兴趣,跟着我的步伐,共同进步。

下一篇,会初识一下nop代码。了解它的结构和程序是怎么运行的。

一:【nopcommerce系列】Nop整体架构的简单介绍,在看nop代码之前,你需要懂哪些东西的更多相关文章

  1. Https系列之一:https的简单介绍及SSL证书的生成

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

  2. Bootstrap源码分析系列之整体架构

    作为一名合格的前端工程师,你肯定听说过Bootstarp框架.确实可以说Bootstrap框架是最流行的前端框架之一.可是也有人说Bootstrap是给后端和前端小白用的,我认为只要学习它能给我们前端 ...

  3. LevelDB系列之整体架构

    LevelDb本质上是一套存储系统以及在这套存储系统上提供的一些操作接口.为了便于理解整个系统及其处理流程,我们可以从两个不同的角度来看待LevleDb:静态角度和动态角度.从静态角度,可以假想整个系 ...

  4. iOS开发:iOS的整体架构以及API介绍

    iOS的整体架构分为4层——Cocoa Touch层.Media层.Core Services层和Core OS层,下面概要介绍一下这4层. Cocoa Touch:构建iOS应用的一些基本系统服务, ...

  5. jQuery系列 第一章 jQuery框架简单介绍

    第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...

  6. UML简单介绍-如何看懂UML(一)

      在计算复杂的数学题时,我们必然会打草稿计算 在绘画课中,我们可以素描出来看到的事物 那么在程序设计中呢? 如何描绘传达你脑海中的关于这个程序 ,设计的蓝图草稿?   OOP的程序设计中,最多的自然 ...

  7. Spark系列(四)整体架构分析

    架构流程图 说明  Driver端流程说明(Standalone模式) 使用spark-submit提交Spark应用程序Application. 通过反射的方式创建和构造一个DriverActor进 ...

  8. [MySQL] 高可用架构MMM简单介绍

    一.来源及原理: 众所周知,MySQL自身提供了AB复制(主从复制),然后可以很轻松实现master-master双向复制,同时再为其中一个Master节点搭建一个Slave库. 这样就实现了MySQ ...

  9. JMeter专题系列(一)工具简单介绍

    一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

随机推荐

  1. TSql CTE 递归原理探究

    CTE是如何进行递归的?产生递归的条件有三个,分别是 初始值 自身调用自身 结束递归的条件 1,示例代码 ;with cte as ( as jd union all as jd from cte ) ...

  2. 【WP开发】使用磁倾仪

    磁倾仪,也叫倾斜仪,主要用来检测手机设备在各个轴上旋转的角度.注意,磁倾仪与陀螺仪的差异,陀螺仪的关注点是旋转的角速度,它并不关注角度,只注重速度.而磁倾仪的读数就是设备倾斜的角度. 不管是使用重力感 ...

  3. knockoutjs中使用mapping插件绑定数据列表

    使用KO绑定数据列表示例:   1.先申请V,T,T2三个辅助方法,方便调试.声明viewModel和加载数据时的映射条件mapping    2.先使用ko.mapping.fromJS()将原来的 ...

  4. JavaScript禁用页面刷新

    JavaScript禁用页面刷新代码如下: //禁用F5刷新 document.onkeydown = function () { if (event.keyCode == 116) { event. ...

  5. PHP的学习--解析URL

    PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str. parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, ...

  6. 可视化(番外篇)——在Eclipse RCP中玩转OpenGL

    最近在看有关Eclipse RCP方面的东西,鉴于Gephi是使用opengl作为绘图引擎,所以,萌生了在Eclipse RCP下添加画布,使用opengl绘图的想法,网上有博文详细介绍这方面的内容, ...

  7. Android Studio1.4.x JNI开发基础-基本环境配置

    从Eclipse时代到Android Studio普及,开发工具越来越好用.早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环 ...

  8. c#字符串操作方法实例

    # 字符串是使用 string 关键字声明的一个字符数组.字符串是使用引号声明的,如下例所示: string s = "Hello, World!"; 字符串对象是“不可变的”,即 ...

  9. HT for Web基础动画介绍

    在上一篇<基于HT for Web矢量实现3D叶轮旋转>一文中,我略微提了下HT for Web基础动画的相关用法,但是讲得不深入,今天就来和大家分享下HT for Web基础动画的相关介 ...

  10. 关于WEB Service&WCF&WebApi实现身份验证之WCF篇(2)

    因前段时间工作变动(换了新工作)及工作较忙暂时中断了该系列文章,今天难得有点空闲时间,就继续总结WCF身份验证的其它方法.前面总结了三种方法(详见:关于WEB Service&WCF& ...