NopCommerce Architecture Analysis Series (1) about nopCommerce

Source: Internet
Author: User
Tags nopcommerce

Digress

As a cainiao, I seldom design a software architecture. The level is too low, but this does not block my interest in the architecture. Recently, MVC3 has been studied. Some people in the garden recommended that nopCommerce is quite good. Just as nopCommerce was developed with MVC3, I downloaded the project and thought its architecture design was good, so I want to share with you my research on the architecture of this project.

About nopCommerce

Nopcommerce is a high-quality open-source B2C website system outside China. Based on EntityFramework4.0 and MVC3.0, it uses the Razor template engine and has a strong plug-in mechanism. The payment and delivery functions are implemented through plug-ins, the xml-based multi-language version provides flexible language switching functions, including editing both Chinese and English attributes of the product at the backend. It is very suitable for foreign trade and provides an excellent advanced program architecture with powerful performance, custom product names and categories have good seo optimizations. The comprehensive capability is far higher than some of the. net mall programs with poor program architecture in China. It is the first choice for secondary development and large B2C architecture. -- Excerpt from Baidu encyclopedia

NopCommerce source code structure and architecture ()

(This Part of the content was originally written by myself. If it was found that it was already ready-made, it was turned around. Ps: I am very lazy, if there is a ready-made will not do it again, I think it is a waste of time to do it again, the source of the article http://www.dingsea.com /? P = 552, http://www.ddpanda.com /? P = 388)

This document aims to explain the Solution Structure of nopcommerce to programmers and is also a necessary book for programmers to develop nopcommerce. First, the source code of nopcommerce is easy to obtain. It is open source, so you can download it directly online. After you open VS, the project and folder will be fully listed. We recommend that you open your VS to browse projects and files while reading this document.

The vast majority of projects, directories, and files are just as the name suggests. You can probably know what it is. For example, Nop. Plugin. Payments. PayPalStandard can be guessed without looking at the project code.
\ Libraries \ Nop. Core
The Nop. Core Project contains a series of Core classes of nopcommerce, such as cache, events, helper classes, and business objects (such as order and customer entity classes)
\ Libraries \ Nop. Data
The Nop. Data project contains a series of Data types and methods to read and save Data from databases or other Data media. It also helps to separate the data access logic from your business objects. Nopcommerce uses the Entity Framework (EF) Code-First method, allowing you to define entities in nopcommerce Code (all core Entity classes are in Nop. core), and then let EF generate the database, which is why Code-First is called. You can use LINQ to query objects. It converts queries to SQL statements and runs them in the database. Nopcommerce has a cool B API that allows you to fully customize persistent mappings. Here you can find Code-First materials.
\ Libraries \ Nop. Services
This project contains a series of core services, business logic, verification, and data computing methods, that is, the legendary business access layer (BAL)

Those projects in the \ Plugins \ Folder

Plugins is the solution folder of VS, which is in the root directory of your solution on the hard disk. Because the input path of the project during compilation is ".. \.. \ Presentation \ Nop. web \ Plugins \ {Group }. {Name} \ ", so that the plug-in DLL will be automatically placed in \ Presentation \ Nop. web \ Plugins \ folder to place deployed plug-ins. In this way, the plug-in can contain static files such as CSS or JS, so you do not need to copy these files between projects.

\ Presentation \ Nop. Admin

Nop. Admin is an MVC project. If you have never used ASP. net mvc, Click here for more information. You may have guessed that this is the management background in the Presentation layer. You can find it in the \ Presentation \ Nop. Web \ Administration folder, and this project cannot run.

\ Presentation \ Nop. Web

Nop. Web is also an MVC project, the presentation layer of the front-end online shop. This is the project you really want to run, and it is also the initial project of the entire application.

\ Presentation \ Nop. Web. Framework

Nop. Web. Framework is a class library project of the presentation layer, including some shared presentation functions that can be used by the backend and foreground.

\ Test \ Nop. Core. Tests

Nop. Core. Tests is a test project of Nop. Core.

\ Test \ Nop. Data. Tests

Nop. Data. Tests is a test project of Nop. Data.

\ Test \ Nop. Services. Tests

Nop. Services. Tests is a test project of Nop. Services.

\ Test \ Nop. Tests

Nop. Tests is a class library that contains a common class and auxiliary method used in other test projects. This project does not contain any test cases.

 

NopCommerce Architecture Analysis Series directory

I will discuss my nopCommerce journey from the following aspects. You are welcome to discuss with me.

1. nopCommerce Architecture Analysis Series (1) about nopCommerce
2. nopCommerce Architecture Analysis Series (2) Data Cache
3. nopCommerce Architecture Analysis Series (3) Data Persistence
4. nopCommerce Architecture Analysis Series (4) data verification
5. nopCommerce Architecture Analysis Series (5) event design and handling
6. nopCommerce Architecture Analysis Series (6) file IO
7. nopCommerce Architecture Analysis Series (7) configuration file
8. nopCommerce Architecture Analysis Series (8) Permission Authentication
9. nopCommerce Architecture Analysis Series (9) IOC containers
10. nopCommerce Architecture Analysis Series (10) Nop Engine
11. nopCommerce Architecture Analysis Series (11) Plugin (componentized Development)
12. nopCommerce Architecture Analysis Series (12) Front-end presentation
13. nopCommerce Architecture Analysis Series (13) Background Management
14. nopCommerce Architecture Analysis Series (14) Others
15. Summary of nopCommerce Architecture Analysis Series (15th)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.