nopCommerce 的源代码结构和架构编写本文档是为了向程序员说明 nopcommerce 的解决方案结构,亦是程序员开发 nopcommerce 的居家必备良书。首先 nopcommerce 的源代码很容易拿到,它是开源的,所以你可以直接到网上下载。 在你打开 VS以后项目和文件夹都会完整列出来,我们建议你在看此文档的同时也打开你的 VS 来浏览项目和文件。绝大多数的项目,目录和文件都顾名思义,你可以从名字就大概知道是做什么的。比如Nop.Plugin.Payments.PayPalStandard 这个我都不用看项目代码就能猜到做什么的。\Libraries\Nop.CoreNop.Core 项目包含 nopcommerce 的一系列核心类如缓存,事件,辅助类和业务对象(如订单和客户实体类)\Libraries\Nop.DataNop.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.AdminNop.Admin 是一 MVC 项目,假如你还从没用过 ASP.NET MVC,请猛击这儿有更多信息。可能你已经猜到这是表示层中的管理后台,你可以在 \Presentation\Nop.Web\Administration 文件夹中找到它,此项目不能运行。\Presentation\Nop.WebNop.Web 也是一 MVC 项目,前台网店的表示层,这个才是你真正要跑起来的项目,它也是整个应用程序的起始项目。\Presentation\Nop.Web.FrameworkNop.Web.Framework 是一个...