Mô Hình 3 Lớp Trong C# Winform

Nhìn sơ qua thì nó tương đối là giống MVC mặt web nhỉ? Business như là Controller

Bạn đang xem: Mô hình 3 lớp trong c# winform
2. Lợi thế của mô hình 3 lớpViệc phân tạo thành từng lớp giúp cho code được tường minh hơn. Nhờ vào việc chia nhỏ ra từng lớp đảm nhiệm các tính năng khác nhau và riêng lẻ như giao diện, xử lý, tầm nã vấn thay vì để tất cả lại một chỗ. Nhằm mục tiêu giảm sự kết dính.Dễ bảo trì khi được phân chia, thì một nhân tố của khối hệ thống sẽ dễ cố đổi. Việc đổi khác này rất có thể được cô lập trong một lớp, hoặc ảnh hưởng đến lớp sớm nhất mà không ảnh hưởng đến cả chương trình.Dễ phân phát triển, tái sử dụng: khi chúng ta muốn thêm một tính năng nào đó thì câu hỏi lập trình theo một quy mô sẽ dễ dãi hơn vì chúng ta đã có chuẩn để tuân theo. Và việc áp dụng lại khi có sự chuyển đổi giữa hai môi trường ( Winform quý phái Webfrom ) thì chỉ việc biến hóa lại lớp GUI.Dễ bàn giao. Ví như mọi bạn đều theo một quy chuẩn đã được định sẵn, thì quá trình bàn giao, can hệ với nhau sẽ tiện lợi hơn cùng tiết kiệm được không ít thời gian.Dễ phân phối cân nặng công việc. Mỗi một nhóm, một bộ phận sẽ nhận một trọng trách trong mô hình 3 lớp. Việc phân chia cụ thể như thế sẽ giúp các thiết kế viên kiểm soát được khối lượng công việc của mình.3. Chi tiết về 3 lớp3.1 Presentation Layer (GUI)

UI Components : gồm những thành phần khiến cho giao diện của vận dụng (GUI). Chúng phụ trách thu nhận với hiển thị dữ liệu cho những người dùng… ví dụ : textbox, button, combobox, …
UI Process Components : là thành phần chịu trách nhiệm quản lý các vượt trình biến đổi giữa những UI… lấy ví dụ : sắp tới xếp quy trình kiểm tra thông tin khách hàng:
Hiển thị screen tra cứu ID
Hiển thị screen thông tin chi tiết khách sản phẩm tương ứng
Hiển thị màn hình liên lạc với khách hàng hàng.
3.2 Bussiness Layer (BLL)

Xem thêm: Điều Đó Tùy Thuộc Vào Bạn (Max Benderz Bootleg), Bài Ca Xe Rác
Các bạn sẽ cần một Bussiness Component để bình chọn gói hàng có khả dụng ko ? hay 1 component nhằm tính tổng đưa ra phí,…Bussiness Entities: thường xuyên được áp dụng như Data Transfer Objects ( DTO ). Chúng ta cũng có thể sử dụng nhằm truyền dữ liệu giữa các lớp (Presentation và Data Layer). Bọn chúng thường là kết cấu dữ liệu ( DataSets, XML,… ) hay những lớp đối tượng người sử dụng đã được tùy chỉnh.Ví dụ : tạo 1 class Student lưu giữ trữ những dữ liệu về tên, ngày sinh, ID, lớp.3.3 Data Layer (DAL)

Để nắm rõ hơn về cấu trúc và giải pháp xây dựng của quy mô 3 lớp, chúng ta cùng xem thêm một lấy ví dụ như về mô hình quản lí công nhân
gồm những lớp BUS, DAO, GUI. (Các đoạn code sẽ bị lược loại trừ )

Đầu tiên là GUI gồm các button insert, update, reset ,delete ,exit. Người dùng sẽ tiếp xúc với màn hình hiển thị giao diện này

Lớp DTO, đây không hẳn là layer, trên đây chỉ là một trong những gói dữ liệu đươc điều đình giữa những lớp. Gói tài liệu này được thành lập dưới dạng lớp đối tượng. Mỗi một công nhân sẽ mang rất nhiều thuộc tính sau:
namespace DTO public class EmployeeDTO #region Atrributes private String _employeeID; private String _name; private String _email; private float _salary; private int _employeeStyle; #endregion //..... Các nhiệm vụ xử lý chính sẽ tiến hành đặt ở lớp BUS (hay là BLL) gồm các nghiệp vụ insert, update, delete, retrieve
namespace BUS public class EmployeeBUS #region 1. Inserting public static bool InsertEmployee(EmployeeDTO emp) if (EmployeeDAO.CheckEmployeeByID(emp.EmployeeID)==true &&EmployeeStyleDAO.CheckEmployeeStyleByID(emp.EmployeeStyle)==false) return false; return EmployeeDAO.InsertEmployee(emp); #endregionhttps://techtalk.vn/wp-admin/post-new.php# //2. Updating //3. Deleting //4. Retrieving Và sau cuối là lớp DAO ( giỏi là DAL ). Truy vấn vấn đến đại lý dữ liệu
namespace DAO{ public class EmployeeDAO { #region 1. Inserting public static bool InsertEmployee(EmployeeDTO emp) { bool result=false; try { // Create danh sách Sql Parameter các mục sqlParams = new List(); sqlParams.Add(new SqlParameter("