LẬP TRÌNH THEO KIẾN TRÚC 3 LỚP/TẦNG (3 TIERS ARCHITECHTURE) Xây dựng phần mềm theo kiến trúc 3 lớp Trước đây, đối với các phần mềm có sử dụng liên quan đến dữliệu, thường khi làm người lập trình thườn[.]
Trang 1LẬP TRÌNH THEO KIẾN TRÚC 3 LỚP/TẦNG
(3-TIERS ARCHITECHTURE)
Xây dựng phần mềm theo kiến trúc 3 lớp:
Trước đây, đối với các phần mềm có sử dụng liên quan đến dữliệu, thường khi làm người lập trình thường tích hợp việc giao tiếp với người sử dụng , xử lý rồi ghi xuống dữ liệu trên cùng một form (đây là mô hình một lớp) Nhưng trong kiến trúc 3 lớp (mô hình 3 lớp), phải có việc phân biệt rạch ròi giữa các lớp này
Mô hình 3 lớp có thể được mô tả như sau :
Lớp Presentation: Lớp giao diện (giao tiếp với người sử dụng) : chỉ thuần xử lý việc giao tiếp với người
sử dụng, nhập xuất, … mà không thực hiện việc tính toán, kiểm tra, xử lý, hay các thao tác liên quan đến cơ sở dữ liệu
Lớp Business Logic: Lớp xử lý nghiệp vụ, lớp này chuyên thực hiện các xử lý , kiểm tra các ràng buộc, các qui tắc ứng xử của phần mềm , các chức năng chủ yếu, … Việc thực hiện này độc lập với cách thiết
kế cũng như cài đặt giao diện Thông tin cho lớp này thực hiện các xử lý của mình được lấy từ lớp giao diện
Lớp Data Access: Lớp dữ liệu, lớp này chuyên thực hiện các công việc liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng Dữ liệu có thể lấy từ cơ sở dữ liệu (Access, SQL Server …) hoặc tập tin (text, binary, XML …) Lớp này thực hiện kết nối trực tiếp với cơ sở dữ liệu và thực hiện tất cả các thao tác liên quan đến cơ sở dữ liệu mà phần mềm cần
Trang 2Lợi ích của lập trình theo kiến trúc 3 lớp:
Với mô hình này, các công việc của từng lớp là độc lập với nhau, giảm sự gắn kết giữa các thực thể của phần mềm Việc thay đổi ở một lớp không làm thay đổi các lớp còn lại, thuận tiện hơn cho quá trình tái phát triển và bảo trì phần mềm
Minh họa lập trình theo kiến trúc 3 lớp:
Bước 1: Tạo project mới trong Visual Studio đặt tên là project DTO (Data Transfer Object)
Bước 2: Xây dựng các lớp DanhMuc và lớp SanPham
Danh mục là tên một nhóm các sản phẩm gồm 2 thuộc tính (mã danh mục và tên danh mục) Một danh mục
sẽ bao gồm nhiều sản phẩm Lớp SanPham chứa thông tin của sản phẩm
Trang 3Lớp DanhMuc.cs
Lớp SanPham.cs
Bước 3: Build project DTO
Bước 4: Tạo thêm một project mới đặt tên là DataAcessTier
Trang 4Bước 5: Bổ sung reference cho project này bằng cách nhắp chuột phải vào tên project trong cửa sổ Solution Explorer và chọn Add Reference
Trong hộp thoại xuất hiện chọn DTO
Trang 5Bước 6: Xây dựng lớp DBConnection cho việc kết nối cơ sở dữ liệu (ở đây là Microsoft Access)
Bước 7: Xây dựng các lớp DAO
Chú ý: Các lớp này kế thừa từ lớp DBConnection, và khai báo using DTO
Lớp DanhMucDAO
Trang 7Lớp SanPhamDAO
Trang 9Bước 8: Build project DataAccessTier
Bước 9: Tạo một project mới đặt tên là BusinessLogicTier
Trang 10Bước 10: Tượng tự add reference DTO và DataAccessTier
Trang 11Bước 11: Thêm các lớp BUS
Lớp DanhMucBUS.cs
Lớp SanPhamBUS.cs
Trang 12Build project
Bước 12: Thêm một project đặt tên PresentaionTier và Add Reference: DTO và BusinessLogicTier
Bước 13: Tạo form MainForm
Trang 13Bước 14: Viết code cho MainForm như sau:
Chú ý: phải khai báo các sự kiện của Form
Trang 14Bước 15: Tạo một from mới đặt tên là SanPhamForm
Thiết lập các thuộc tính sau cho DataGridView
MultiSelect: False
ReadOnly: True
SelectionMode: FullRowSelect
AutoSizeColumnsMode: AllCells
Bước 16: Viết code cho form
Trang 16Bước 17: Copy file cơ sở dữ liệu mẫu dbSanPham.mdb vào thư mục Debug của poject này
Bước 18: Chạy và kiểm tra chương trình
Bài tập: Viết thêm chức năng xóa và kiểm tra các điều kiện thêm/xóa/cập nhật (nếu có) của chương trình