Mất 2 phút đọc

Giới thiệu về Kiến trúc đa tầng trong c#

Trong bài viết này, Ứng dụng free sẽ cùng các bạn tìm hiểu Giới thiệu Về Kiến Trúc Đa Tầng Trong C#

Giới thiệu về kiến trúc đa tầng

  • Nếu dự án nhỏ: Khi Ta làm việc với các ứng dụng, với những dự án nhỏ thì việc tạo một ứng dụng theo ý của chúng ta rất dễ dàng
  • Nếu dự án lớn: Cần nhiều người cùng làm hơn thì việc lập trình trở nên phức tạp hơn, vậy nên để dễ dàng hơn trong việc quản lý các thành phần của hệ thống cũng như ảnh hưởng tới các thành phần khác khi ta thay đổi một thành phần, chúng ta thường nhóm các thành phần có cùng chức năng lại với nhau. Chính vì thế các mô hình lập trình được sinh ra, một trong những mô hình lập trình đó là mô hình 3 lớp .

Mô hình 3 lớp:

 

  • Presentation Layer (GUI): Đây chính là giao diện xử lý của ứng dụng (Windows form, webform, …). Nhiệm vụ chính của lớp này là nhập liệu và trình bày dữ liệu, có thể bao gồm kiểm tra dữ liệu đầu vào trước khi gọi Business Logic Layer.

 

  • Business Logic Layer (BLL): Có thể gọi là BLL hay BUS, đều là Business Logic Layer. Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu, quản lý các transaction… Công việc của BLL là gọi lại các xử lý của lớp Data Access Layer, nếu gặp ngoại lệ sẽ thôngbáo cho GUI.

  • Data Access Layer (DAL): Có thể là DAL hay DAO, đều là Data Access Layer cả. Chức năng của DAL là kết nối CSDL, tìm kiếm, thêm, xóa, sửa,… trên CSDL. Tầng này sẽ sử dụng ADO.NET, Entity Framework để xử lý.

  • Data Transfer Object (DTO): Có thẻ hiểu DTO là tập các đối tượng được chuyển từ mô hình CSDL quan hệ lên hướng đối tượng để dễ dàng trong việc tương tác xử lý nghiệp vụ.

    Tên Bảng → Tên Lớp

    Tên Cột → Tên Thuộc tính

    Từng dòng dữ liệu → Từng đối tượng

Minh họa:

 

KẾT LUẬN: Nếu như bạn chưa hiểu nội dung bài viết hoặc đang khúc mắc khi thao tác thì hãy bình luận phía dưới bài viết để Ứng dụng free   giải đáp thắc mắc nhé! Cảm ơn các bạn đã theo dõi bài viết. 

Hãy bình chọn
611 lượt xem

12/09/2022 Blog Tin Học

Bài viết liên quan

Block "5_tab_footer" not found