.NET PETSHOP Detailed (3): PETSHOP Three-layer Structure Middletire

zhaozj2021-02-16  46

.NET PETSHOP Detailed (3): PETSHOP Three-layer Structure Middletire

Through the previous article, we have a general understanding of the entire structure of .NET PETSHOP, and it is clear that the details of the design model and implementation of the database are particularly worth mentioning that the database is accessed through the stored procedure. In the next article, I will talk to everyone to explore the middle layer of .NET PETSHOP.

According to the design principle of the three-layer structure, the intermediate layer package is business logic and rules. In this example of this network pet store, shopping treatment, order processing, account management, product query, etc. are all specific business logic, as for users Interaction is not a problem that the intermediate layer is to be processed. It treats is independent of the specific user interface and interaction, but only the core business rules and logic. The intermediate business logic of .NET PETSHOP is packaged into a .NET component, its namespace is PET Shop.components (with a file in the BIN folder). Figure 1 is a Class view and file view of the intermediate layer of the .NET PETSHOP solution.

Figure 1: Class view and file view of the intermediate layer of .NET PETSHOP solution

Next, we simulate the process of customers to the department store to procure the daily necessities to illustrate the process of operation and abstract important concepts (actually User Case, we will do this when we are analyzing, and is a very important step, from here It can be initially found in the logic entity to be involved in our implementation, and it can be used for database modeling design and class design).

Business Analysis of Shopping Use:

1 The customer has the will of buying goods;

2 The customer registers at the login administrator and has successfully registered;

3 Push a shopping cart in the registry;

4 Find the shelves stored in the stored goods category in the supermarket;

5 Find a specific brand of goods in the specific shelves;

6 put the goods that meet the will in your own shopping cart;

7 Repeat 4-6;

8 shopping is completed;

9 to the payment office to calculate the total price and pay;

10 Print shopping list;

11 refund the shopping cart;

12 take the shopping, the shopping is complete;

Remarks: In this use case, we have made some prerequisites and assume that it is convenient for .NET PETSHOP analysis, such as the second step in actual life.

Through this use case, we can at least abstract a few important concepts, and can find the corresponding class in the application: Customer corresponds to the product, the shopping cart corresponds to ShoppingCart, the product category corresponds to Category, specific items corresponding Item And the list corresponds to the Order.

As I said earlier, these concepts are very useful for our business modeling and system modeling. It is through such an analysis, with a total of 9 core classes and 5 lightweight data structures in the business logic of .NET PETSHOP. In the same way, I list these classes here and explain (see Table 1).

Class name

Description

BasketItem

A shopping commodity representing shopping cart shippingcart.

Customer

Used for account management and login verification.

CustomerDetails

Details of the user account.

CustomeraDRESS

The address information of the user account.

Error

Help features used to log in to the error.

Item

Represents a specific item in a certain product.

ItemResults

Search for Item's result set.

ORDER

Shopping lists and orders after shopping.

PRODUCT

A type of product inside the big category.

ProductRESULTS

Search the result set of products.

Profile

User configuration. ShoppingCart

Shopping cart, used for shopping throughout the process, until the order.

Database

Access the database via ADO.NET, encapsulate specific access methods.

SearchResults

Fragous search result set.

Table 1: Class of .NET PETSHOP intermediate layer

CustomerAddress, CustomerDetails, ItemResults, ProductResults, and SearchResults These of the lightweight data structures provide a loose data binding call between the data layer and the display layer. These classes are designed to have public properties, and the ASP.NET web page can access data through these attributes. The code of the class below illustrates how these five classes expose their public attributes for display layers.

Public Class ProductResults PUBLIC CLASS

{

PRIVATE STRING M_PRODUCTID;

Private string m_name;

Public string productId {

Get {return m_productid;}

Set {m_ProductId = value;}

}

PUBLIC STRING NAME {

Get {return m_name;}

Set {m_name = value;}

}

}

In .NET PETSHOP Detailed (2), we have said that the database is done by storage, let's take a look at this section of the code:

Public string login (string username, string password) {

String Customerid;

// Params to Stored Proc

Database data = new database ();

Sqlparameter [] PRAMS = {

Data.makeinparam ("@ username", sqldbtype.varchar, 25, password),

Data.makeinparam ("@ password", sqldbtype.varchar, 25, username,

Data.makeoutparam ("@ Customerid", SqldbType.varchar, 25)

}

// Create Data Object and params

Data.Runproc ("UpaccountLogin", Prams); // Run The Stored Procedure

Customerid = (String) Prams [2] .value; // Get the Output Param Value

// if the customer id is an es Empty string, THE Login Faled

IF (Customerid == String.empty)

Return NULL;

Else

Return Customerid;

}

This code is the login method of the Customer class. It is passed to the stored procedure UpaccountLogin by transmitting the username UserName and password Password input parameters. This stored procedure completes whether the user is legal in the SIGON user account table. Finally, returns a user ID value of a string. There is no use of SQL query statements here, very good separation logic. The specific database access is done by Database, we will continue to explore its operations in later articles.

ShoppingCart is a more interesting class and a very important class. It is a class associated with the status, in .NET PETSHOP, its status is managed by ASP.NET Session State, with respect to its further details. The discussion of the middle layer of .NET PETSHOP first, I am just throwing bricks here, and a lot of things should be more clear. Welcome everyone to continue to pay attention to the next .NET PETSHOP data display layer.

转载请注明原文地址:https://www.9cbs.com/read-23290.html

New Post(0)