Lập trình hướng đối tượng 2 - Mô hình đa lớp (multi - Layers)

ppt 27 trang vanle 2440
Bạn đang xem 20 trang mẫu của tài liệu "Lập trình hướng đối tượng 2 - Mô hình đa lớp (multi - Layers)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptlap_trinh_huong_doi_tuong_2_mo_hinh_da_lop_multi_layers.ppt

Nội dung text: Lập trình hướng đối tượng 2 - Mô hình đa lớp (multi - Layers)

  1. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 2 MÔ HÌNH ĐA LỚP (Multi-Layers)
  2. Nội dung ❖Phân biệt 3-tier, 3-layer ❖Vai trò và nhiệm vụ của mỗi layer ❖Quản lý ngoại lệ trong mô hình 3-layer
  3. 3-tiers and 3-layers ❖Tier cho thấy một sự tách biệt vật lý của các thành phần, có thể có nghĩa là các assemblies khác nhau như DLL, EXE, trên cùng một máy chủ hoặc nhiều máy chủ.
  4. 3-tiers and 3-layers ❖Layer cho thấy sự phân cách hợp lý của các thành phần, như vậy là có các namespaces và các class riêng biệt Database Access Layer, Business Logic Layer and User Interface Layer.
  5. 3-tiers and 3-layers
  6. 3-tiers and 3-layers
  7. 1-tier, 3-layer Physical view Logical view GUI Application + Data Business logic Data Access Data
  8. 2-tier, 3-layer Physical view Logical view Client tier GUI Business logic Data Access Data Data tier
  9. 3-tier, 3-layer Presentation tier Browsers GUI Local clients Web Server Web Server Application Web Logical view Logical Business logic Business tier Data Access Data tier Data
  10. Vai trò của các layer ❖GUI (Presentation) Layer: ▪ Thu thập và hiển thị thông tin cho người dùng cuối. ▪ Không sử dụng trực tiếp các dịch vụ của lớp Data Acces. ▪ Sử dụng các dịch vụ do lớp Business Logic cung cấp. ▪ Ở lớp này, chúng ta có thể bỏ qua các ràng buộc, các logic nghiệp vụ của ứng dụng.
  11. Vai trò của các layer ❖Business Logic Layer: ▪ Lớp này thực hiện các nghiệp vụ chính của hệ thống (Ví dụ: kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu) ▪ Sử dụng các dịch vụ do lớp Data Access cung cấp. ▪ Cung cấp các dịch vụ cho lớp Presentation
  12. Vai trò của các layer ❖Data Access Layer: ▪ Lớp này 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. ▪ Cung cấp các dịch vụ cho lớp Business Logic sử dụng. ▪ Sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như MySql, SQL Server, Oracle, để thực hiện nhiệm vụ của mình.
  13. Các lưu ý quan trọng ❖Phân biệt vai trò Business Layer và khái niệm “xử lý” ❖Mỗi Layer vẫn có xử lý riêng, đặc trưng của Layer đó ❖Đôi khi việc quyết định 1 xử lý nằm ở layer nào chỉ mang tính chất tương đối
  14. Việc trao đổi liên lạc giữa các layer Presentation Business logic Data Access Data Transfer Object (DTO) Data Các giá trị, dòng, bảng
  15. Sự phụ thuộc giữa các layer Presentation Business logic Data Transfer Object (DTO) Data Access Data
  16. Tính chất của mô hình 3-layer ❖Mã lệnh (code) tường minh ❖Dễ bảo trì ❖Dễ phát triển ❖Dễ bàn giao
  17. Error Handling GUI Error messages Errors while treating data input GUI layer Error Handling Thrown business Log Business exceptions Errors while treating in business layer Business Error Handling Database error codes Database errors Database Error Handling Database while executing (controlled by DBMS)
  18. Quản lý ngoại lệ ❖Ngoại lệ có thể xảy ra ở bất kỳ layer nào ❖Khi ngoại lệ xảy ra ở một layer thì: ▪ Xử lý nội bộ trong layer đó ▪ “Ném” ngoại lệ lên layer “cao hơn” ▪ Không xử lý ❖Khi một layer nhận ngoại lệ từ một layer “thấp hơn” ▪ Xử lý nội bộ ▪ “Ném” ngoại lệ lên layer “cao hơn” ▪ Không xử lý
  19. Phát triển ứng dụng
  20. Phát triển ứng dụng Business Logic Layer Data Access Layer Data Transfer Object Presentation Layer
  21. Phát triển ứng dụng ❖Các lớp DTO ▪ Nội dung mỗi lớp gồm: • Fields • Các phương thức khởi tạo. • Các phương thức set, get ▪ VD: SanPhamDTO, LoaiSanPhamDTO
  22. Phát triển ứng dụng ❖Các lớp DAL ▪ Ứng với mỗi bảng trong database tạo một class DAL tương ứng. ▪ VD: SanPhamDAL, LoaiSanPhamDAL
  23. Phát triển ứng dụng ❖Các lớp BLL ▪ Tạo các class giao tiếp với lớp Presentation ▪ Sử dụng các dịch vụ ở lớp DAL để xử lý nghiệp vụ. ▪ VD: SanPhamBLL, LoaiSanPhamBLL
  24. Phát triển ứng dụng ❖Các lớp PL ▪ Giao tiếp với người dùng. ▪ Sử dụng các dịch vụ do lớp Business cung cấp. ▪ VD: Xuất ra màn hình.
  25. Phát triển ứng dụng
  26. Phát triển ứng dụng DEMO