Các class cần thiết trong ứng dụng

Một phần của tài liệu Tiểu luận môn lập trình nâng cao Thiết kế website thương mại điện tử (Trang 26 - 28)

Mơ hình 3 lớp phân chia ứng dụng thành 3 lớp với các chức năng riêng biệt, ta sẽ tổ chức mã nguồn thành các lớp tương ứng: Data, Business and Presentation.

MyWeb.Data Class

Là lớp đóng vai trị tương tác với CSDL. Nhiệm vụ của lớp này là tạo kết nối, truy xuất trực tiếp lên CSDL thông qua các SQL StoredProcedure.

Ở đây ta khai báo thêm các class UserInfo, SqlDataProvider và UserController.

Class UserInfo chứa thông tin về một user dùng làm tham số truyền vào Procedure. Class SqlDataProvider tạo kết nối tới CSDL.

Class UserController khai báo các hàm để chạy các Procedure. Ví dụ hàm dùng để Insert, khai báo trong class UserController:

public class UserController : SqlDataProvider {

#region[User_Insert]

public void User_Insert(UserInfo data) {

using (SqlCommand cmd = new SqlCommand("sp_User_Insert", GetConnection())) {

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("@Name", data.Name));

cmd.Parameters.Add(new SqlParameter("@UserName", data.UserName)); cmd.Parameters.Add(new SqlParameter("@Password", data.Password)); cmd.Parameters.Add(new SqlParameter("@Rule", data.Rule));

cmd.Parameters.Add(new SqlParameter("@Status", data.Status)); cmd.ExecuteNonQuery();//thuc hien cau lenh khong tra ve }

}

#endregion

Hàm này lấy đối số là một đối tượng kiểu UserInfo, thông qua kết nối nhờ hàm GetConnection() trong class SqlDataProvider.

MyWeb.Business

Lớp này lấy dữ liệu từ lớp Data, xử lý và truyền lên cho lớp Presentation và ngược lại. Ví dụ hàm Insert khai báo trong class UserService:

class UserService {

public static UserController db = new UserController(); #region[User_Insert]

public void User_Insert(UserInfo data) {

db.User_Insert(data); }

#endregion

Hàm này khởi tạo một đối tượng db thuộc class UserController, rồi thực hiện hàm User_Insert với tham số vào là một đối tượng kiểu UserInfo.

MyWeb (Presentation)

Là lớp giao diện, có nhiệm vụ nhận dữ liệu từ lớp MyWeb.Business hiển thị lên màn hình và nhận dữ liệu từ giao diện truyền về MyWeb.Business.

Thiết kế lớp Presentation này khá mềm dẻo, không bắt buộc phải theo một chuẩn cụ thể. Ví dụ có thể dùng ASP Server Controller hoặc HTML Server Controller để hiển thị. Ta khơng đi sâu vào phân tích về đặc điểm mà chỉ quan tâm đến cách thức sử dụng chúng.

III. Kết quả

Một phần của tài liệu Tiểu luận môn lập trình nâng cao Thiết kế website thương mại điện tử (Trang 26 - 28)

Tải bản đầy đủ (DOCX)

(39 trang)
w