博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nopCommerce的源代码结构和架构
阅读量:6457 次
发布时间:2019-06-23

本文共 1653 字,大约阅读时间需要 5 分钟。

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

 

 

文章说明:文章来源自 ,于原文之理解而翻译,并非出版社那种按字词翻译风格。欢迎各位提出意见,也欢迎各位转载不过务必注明本文原址。更多 nopcommerce的文章请关注 ,或者加入我们的QQ群 101675096
 

 

绝大多数的项目,目录和文件都顾名思义,你可以从名字就大概知道是做什么的。比如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是一个类库,包含其它测试项目中要用的一共有类和辅助方法,此项目不包含任何测试用例

转载于:https://www.cnblogs.com/dingsea/archive/2012/02/26/2368743.html

你可能感兴趣的文章
在 Vim 中优雅地查找和替换(转)
查看>>
复习(2)
查看>>
.net List的并集和交集
查看>>
面向对象
查看>>
网络编程(socket,套接字)
查看>>
QPython 打造一个全自动智能微信跳一跳辅助!(手机本地运行)
查看>>
HashTable、HashMap、ConcurrentHashMap、Collections.synchronizedMap()区别
查看>>
selenium+python之操作元素
查看>>
利用python定位网页上的元素
查看>>
C#用反射判断一个类型是否是Nullable同时获取它的根类型(转自网络)
查看>>
查找数据库备注信息
查看>>
自定义input的file样式
查看>>
POJ-3565 Ants---KM算法+slack优化
查看>>
使用selenium找出外卖点餐次数最多的10个顾客
查看>>
html学习笔记css
查看>>
vuejs目录介绍
查看>>
IT人的学习方法论-5,也谈IT的创新
查看>>
开店攻略: 现代促销的七种促销策略
查看>>
springboot kafka @@KafkaListener 批处理消息
查看>>
python错误处理/调试/单元测试/文档测试
查看>>