Cấu trúc mô hình 3 lớp trong asp.net là gì năm 2024

Đối với lập trình hiện đại, mọi thứ đều đi nhiều lớp, tương tự như C#, cũng có cả mô hình 3 lớp để chúng ta thực thi áp dụng.

Ở C# chúng ta gọi là mô hình 3 lớp aka 3 Layers. Nó khá là nổi tiếng với sinh viên VN đang học C# (một số trường sẽ là Lập trình .NET, lập trình C#, lập trình ứng dụng)

Mục lục:

  1. Giới thiệu về mô hình 3 lớp.
  2. Cách tạo project và liên kết 3 lớp.
  3. Xây dựng DTO
  4. Xây dựng Data Access
  5. Xây dựng Business (BUS)
  6. Xây dựng GUI
  7. Lời kết và Source Code mẫu

Cấu tạo của C# – Mô hình 3 lớp đơn giản:

Gồm 3 lớp, đó là:

  • GUI Layer: Lớp này là lớp hiển thị giao diện và các chức năng để người dùng cuối sử dụng.
  • Business (BUS) Layer: Đây là lớp nhận các yêu cầu từ lớp GUI và truy xuất lên lớp Data để lấy thông tin và trả về GUI.
  • Data Access Layer: Lớp này là lớp để truy xuất với CSDL, chỉ duy nhất lớp này được làm việc với database.
  • (Ko cần thiết) DTO Layer: Lớp này chỉ là phụ thôi, đây là lớp định nghĩa các table trong database của bạn, định nghĩa cột của nó cũng như để ta gán data khi query lấy dữ liệu. Các bạn có thể hiểu nôm na là 1 dạng cơ bản ORM (Object Relation Mapping).

Đây là cách hoạt động của mô hình 3 lớp:

Cấu trúc mô hình 3 lớp trong asp.net là gì năm 2024

Nhìn sơ qua thì nó khá là giống MVC bên web nhỉ? Business như là Controller :D, GUI là View và Data Access là Model.

Lợi thế của mô hình 3 lớp:

  • Phân loại rõ ràng các lớp có các nhiệm vụ khác nhau. Từ đó ta có thể quản lý và maintain project tốt hơn.
  • Dễ dàng phân loại các hành động tại Business.
  • Dễ dàng phân loại các hàm truy xuất tại Database, phân loại hàm theo table,…
  • Ứng dụng được cho các project lớn ở bên ngoài.

Lưu ý khi xây dựng mô hình 3 lớp:

  • Cần một solution riêng cho project.
  • Cần 3 project khác nhau để làm nên 3 lớp, tên Project đặt như sau:
    • Lớp GUI: GUI_* (VD: GUI_QuanLy)
    • Lớp Business: BUS_* (VD: BUS_QuanLy)
    • Lớp Data Access: DAL_* (VD: DAL_QuanLy)
    • Lớp DTO: DTO_* (VD: DTO_QuanLy)
  • Bên trong 3 lớp như trên các file đặt cần có các tiền tố như sau:

    Ví dụ mình có một table tên là ThanhVien

    • Lớp GUI: GUI_* (VD: GUI_ThanhVien)
    • Lớp Business: BUS_* (VD: GUI_ThanhVien)
    • Lớp Data Access: DAL_* (VD: GUI_ThanhVien)
    • Lớp DTO: DTO_* (VD: DTO_ThanhVien)

Như các bạn đã thấy tên Table liên quan mật thiết tới cách đặt tên file nhé 😀

Qua trang 2, mình sẽ hướng dẫn các bạn tạo và liên kết 3 project lại với nhau nhé 😀

Cấu trúc mô hình 3 lớp trong asp.net là gì năm 2024

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

Tham gia: 21/11/2023 Bài viết: 51 Đã được thích: 0 Điểm thành tích: 6

Cấu trúc mô hình 3 lớp (three-tier architecture) là một kiểu thiết kế phần mềm phổ biến, giúp tách biệt các thành phần của ứng dụng thành 3 lớp riêng biệt: lớp giao diện người dùng (user interface layer), lớp xử lý nghiệp vụ (business logic layer) và lớp truy cập dữ liệu (data access layer. Mục đích của cấu trúc mô hình 3 lớp là tăng tính bảo mật, khả năng mở rộng, tái sử dụng và bảo trì của ứng dụng . Trong bài viết này, chúng tôi sẽ giới thiệu về cấu trúc mô hình 3 lớp trong ngôn ngữ lập trình C#, cách áp dụng nó vào các dự án thực tế, và cung cấp một số ví dụ minh họa để bạn có thể hiểu rõ hơn về cách hoạt động của nó.

Cấu trúc mô hình 3 lớp trong asp.net là gì năm 2024

Nếu bạn muốn được tư vấn chuyên sâu các vấn đề về kỹ thuật tracking website, hoặc cần được tư vấn chiến lược từ các chuyên gia Digital Marketing để tối ưu chi phí và mang lại hiệu quả cho doanh nghiệp mình. Hãy đặt lịch hẹn và tư vấn 1:1 cùng chuyên gia Askany ngay hôm nay.

Cấu trúc mô hình 3 lớp là gì Nếu bạn đang tìm kiếm một mô hình lập trình hiệu quả, dễ bảo trì và mở rộng cho dự án web ASP.Net của bạn, bạn không thể bỏ qua mô hình 3 lớp. Mô hình 3 lớp là một mô hình phân chia các thành phần trong hệ thống theo các chức năng và vai trò khác nhau, giúp bạn quản lý và maintain code tốt hơn, tăng cường bảo mật và độ tin cậy của dữ liệu, và tối ưu hóa hiệu suất của website. Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn về cấu trúc và cách xây dựng mô hình 3 lớp trong C#.

Xem thêm: Cách triển khai data layer trong google tag manager

Mô hình 3 lớp gồm có 3 lớp chính, đó là:

  • Presentation Layer (GUI): Trách nhiệm chính của lớp này là tương tác với người dùng, hiển thị giao diện và thực hiện các tác vụ như nhập liệu, hiển thị dữ liệu. Nó kiểm tra tính đúng đắn của dữ liệu trước khi chuyển giao tới Business Logic Layer (BLL).
  • Business Logic Layer (BLL): Lớp này đáp ứng các yêu cầu thao tác dữ liệu từ GUI layer. Nó xử lý nguồn dữ liệu từ Presentation Layer trước khi chuyển xuống Data Access Layer, thực hiện kiểm tra ràng buộc, tính toàn vẹn và hợp lệ dữ liệu. Ngoài ra, BLL thực hiện các tính toán và xử lý yêu cầu nghiệp vụ trước khi trả kết quả về Presentation Layer.
  • Data Access Layer (DAL): Chức năng chính của lớp này là giao tiếp với hệ quản trị CSDL. DAL thực hiện các tác vụ liên quan đến lưu trữ và truy vấn dữ liệu, bao gồm tìm kiếm, thêm, xóa, sửa, và các tác vụ khác liên quan đến cơ sở dữ liệu.

Để hiểu rõ hơn về cấu trúc của mô hình 3 lớp và cách xây dựng nó, chúng ta cùng tham khảo một ví dụ về mô hình quản lý sinh viên gồm các lớp BUS, DAO, GUI.

Cấu trúc mô hình 3 lớp trong asp.net là gì năm 2024

Ví dụ về mô hình quản lý sinh viên Tầng giao diện (GUI)

Tầng giao diện cung cấp các màn hình cho người dùng thực hiện các thao tác với hệ thống. Các màn hình này có thể sử dụng các thành phần giao diện sẵn có như button, label, text box, v.v.

Ví dụ, màn hình thêm sinh viên có thể có các thành phần sau:

  • Button để thêm sinh viên
  • Text box để nhập mã sinh viên
  • Text box để nhập họ tên sinh viên
  • Text box để nhập ngày sinh sinh viên
  • Text box để nhập địa chỉ sinh viên Tầng logic (BUS)

Tầng logic cung cấp các phương thức xử lý nghiệp vụ của hệ thống. Các phương thức này có thể được gọi từ tầng giao diện.

Ví dụ, phương thức thêm sinh viên có thể có cú pháp như sau:

public void themSinhVien(int maSinhVien, String hoTen, Date ngaySinh, String diaChi)

Phương thức này sẽ nhận các thông tin về sinh viên từ tầng giao diện và lưu trữ vào cơ sở dữ liệu.

Tầng dữ liệu (DAO)

Tầng dữ liệu cung cấp các phương thức truy cập và thao tác dữ liệu trong cơ sở dữ liệu. Các phương thức này có thể được gọi từ tầng logic.

Ví dụ, phương thức thêm sinh viên vào cơ sở dữ liệu có thể có cú pháp như sau:

public void themSinhVien(SinhVien sinhVien)

Phương thức này sẽ nhận đối tượng sinh viên từ tầng logic và thực hiện lệnh INSERT vào bảng sinh viên trong cơ sở dữ liệu.

Kết nối các lớp

Các lớp trong cùng tầng có thể kết nối với nhau thông qua các biến, phương thức, v.v. Ví dụ, lớp TrangThemSinhVien trong tầng GUI có thể có biến daoSinhVien thuộc lớp SinhVienDAO trong tầng DAO. Biến này sẽ được sử dụng để gọi các phương thức của lớp SinhVienDAO.

Các lớp trong các tầng khác nhau có thể kết nối với nhau thông qua các giao diện. Ví dụ, lớp SinhVienDAO trong tầng DAO có thể triển khai giao diện IDaoSinhVien. Biến daoSinhVien trong lớp TrangThemSinhVien sẽ được gán cho một đối tượng SinhVienDAO triển khai giao diện IDaoSinhVien.

Như vậy, chúng ta đã xem qua cấu trúc mô hình 3 lớp trong C#. Mô hình 3 lớp là một mô hình lập trình hiệu quả, dễ bảo trì và mở rộng cho dự án web ASP.Net của bạn. Nếu bạn có bất cứ thắc mắc nào về cấu trúc mô hình 3 lớp, hãy hỏi chuyên gia trên Askany ngay bạn nhé.