这一篇,让我们一起来认识一下 NopCommerce 的整体目录结构
1. Libraries 文件夹目录:
(1)Nop.Core:核心库,包含了大量可重用代码,和系统业务无关,可以单独抽取出来,放到其他项目中也可使用。里面包含了依赖注入组件,Cache,业务对象等内容
(2)Nop.Data:包含一系列的数据访问类和方法以从数据库或其他数据媒介读取和保存数据。它也有助于把数据访问逻辑和你的业务对象分离。nopcommerce使用Entity Framework (EF) Code-First方法,允许你在nopcommerce代码中定义实体 (所有的核心实体类都在Nop.Core中定义),再让EF生成数据库。你也可以用LINQ来查询对象,它自己会把查询转换为SQL语句并在数据库里执行。nopcommerce拥有现成的API让你完全定制持久映射。
(3)Nop.Services:此项包含了一系列的核心服务,业务逻辑验证。好比三层架构中的 BAL 业务逻辑层
2. Plugins 文件夹目录:是系统的插件部分,在Nopcommerce 里内置了很多插件,比如支付(payment)的插件,如果我们要支持支付宝,快钱,等等,就可以写对应的插件,还有一些系统挂件(widget),在 Nopcommerce 2.8里,首页的Flash轮换图就是一个插件。它是VS的解决方案文件夹,硬盘中它是在你解决方案的根目录下。由于项目在编译时的输入路径是”....PresentationNop.WebPlugins{Group}.{Name}”,这样插件的DLL会自动地放到 PresentationNop.WebPlugins文件夹中,用来放置已部署插件。这样也能让插件包含静态文件比如CSS或JS,就不用在项目之间拷贝这些文件了。
3. Presentation 文件夹目录:这个是UI层,使用了MVC。
(1)Nop.Admin:UI层的管理后台,管理员使用。
(2)Nop.Web: 这个是商城的UI,使用的是MVC项目,整个系统的起始项目。
(3)Nop.Web.Framework:是一个表示层的类库项目,包括可以让后台和前台使用的一些共用的展示功能Web部分相关的公共方法,和内核一样值得研究。
4. Tests 文件夹目录:测试程序
Nop.Core.Tests:Nop.Core 的测试程序。
Nop.Data.Tests:Nop.Data 的测试程序。
Nop.Services.Tests:Nop.Services 的测试程序。
Nop.Tests:是一个类库,包含其它测试项目中要用的一共有类和辅助方法,此项目不包含任何测试用例。
Nop.Web.MVC.Tests:Nop.Web 测试程序。
理解了整个框架的目录结构,后续要学习的,就是要具体去理解框架里的内容了。