Đồ án cuối kỳ môn Lập trình hướng đối tượng - Đề tài: Mẫu thiết kế Mediator - Hồng Quốc Lâm

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN – DHQG TPHCM  
KHOA CÔNG NGHỆ THÔNG TIN  
ĐỒ ÁN LÝ THUYẾT CUỐI KỲ  
MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
ĐỀ TÀI  
MẪU THIẾT KẾ MEDIATOR  
Giảng viên bộ môn: thầy HỒ TUẤN THANH  
Nhóm thực hiện: NHÓM 7 - Totally not spies  
•
•
•
Hồng Quốc Lâm  
Đinh Hiền Tuấn  
Hoàng Anh Tuấn  
1760346  
1760455  
1760457  
Lớp: 17CK-CL  
Khoá: 2017 – 2020  
1
I) BÀI TOÁN CÓ LIÊN QUAN ĐẾN MEDIATOR  
- Tháp điều khiển tại sân bay với các máy bay.  
- Bộ phận chăm sóc khách hàng với khách hàng.  
3
 
II) CÁCH GIẢI QUYẾT NẾU KHÔNG SỬ DỤNG MEDIATOR  
4
 
III) NHƯỢC ĐIỂM CỦA CÁCH GIẢI QUYẾT TRÊN  
- Khi thêm một đối tượng mới phải hiệu chỉnh mã nguồn.  
- Không phù hợp khi triển khai cho nhiều đối tượng.  
5
 
IV) GIỚI THIỆU VỀ MEDIATOR  
- Mẫu thiết kế Mediator định nghĩa một đối tượng (Mediator) để bao bọc việc giao tiếp và  
tương tác giữa các đối tượng cùng loại (Colleague) với nhau.  
• Không có Mediator.  
• Có Mediator.  
6
 
V) CÁCH GIẢI BÀI TOÁN TRÊN NẾU SỬ DỤNG MEDIATOR  
1) Class diagram.  
2) Source code.  
7
 
8
9
VI) MỘT SỐ BÀI TOÁN KHÁC CŨNG GIẢI QUYẾT BẰNG MEDIATOR  
- Quản lý của ca sĩ/ diễn viên/ đội bóng với đối tác.  
- Ứng dụng đặt món với người dùng.  
- Router với thiết bi sử dụng mạng.  
VII) ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA MEDIATOR  
1) Ưu điểm.  
-Dễ hình dung các mối quan hệ giữa các Colleague vì chúng được được gói gọn trong class  
Mediator.  
-Các class Colleague riêng biệt nên dễ thêm vào một class Colleague mới, chúng ta chì cần  
hiệu chỉnh class Mediator khi thêm vào.  
-Làm đơn giản hóa quan hệ, colleague chỉ cần giao tiếp với Mediator nên số lượng giao  
tiếp giảm từ n-n xuống 1-n và n-1.  
2) Nhược điểm.  
-Việc giảm bớt sự phức tạp của các Colleague vô tình làm tăng sự phức tạp của Mediator.  
VIII) CÂU HỎI TRẮC NGHIỆM  
1. Bài toán nào không sử dụng mediator để giải quyết  
a. Group chat trên messenger  
b. Đèn giao thông  
c. Luật sư của thân chủ  
d. Một đại lí có xe của nhiều hãng  
2. Mediator thuộc nhóm thiết kế gì?  
a. Creational (Khởi tạo)  
b. Structural (Kiến trúc)  
c. Behavioral (Tương tác)  
d. Cả 3 đều đúng  
3. Mẫu thiết kế Mediator định nghĩa một đối tượng (Mediator) để bao bọc việc giao tiếp và  
tương tác giữa:  
a. Các đối tượng cùng loại  
b. Các đối tượng khác loại  
10  
     
c. Các đối tượng vừa cùng loại vừa khác loại  
d. Tất cả đều đúng  
4. Mediator pattern biến đổi lượng giao tiếp:  
a. Từ 1 – 1 thành nhiều – nhiều  
b. Từ nhiều – nhiều thành 1 - 1  
c. Từ 1 – nhiều thành nhiều – nhiều  
d. Từ nhiều – nhiều thành 1 – nhiều và nhiều – 1  
5. Điều nào có thể xảy ra với Mediator object:  
a. Càng dễ bảo trì  
b. Càng khó thêm vào một class colleague mới  
c. Trở thành 1 “god” object (1 object biết quá nhiều hoặc làm quá nhiều thứ)  
d. Càng khó hiệu chỉnh code của class Mediator  
IX) CÂU HỎI BÀI TẬP  
Bài tập 1: Nêu 1 số trường hợp khác áp dụng mãu thiết kế Mediator?  
- Chat room  
- Radio taxi (Khi khách hàng cần taxi, khách hàng sẽ gọi tới hotline của công ty taxi đó,  
bên đó sẽ liên lạc với chiếc taxi phù hợp với nhu cầu của khách hàng)  
- Trạm kiểm soát hàng không  
Bài tập 2: So sánh sự khác nhau giữa mẫu thiết kế Observer và Mediator?  
- Observer: Định nghĩa sự phụ thuộc một-nhiều giữa các đối tượng để khi một đối tượng  
thay đổi trạng thái, tất cả các người phụ thuộc của nó sẽ được thông báo và cập nhật tự  
động.  
- Mediator: Xác định một đối tượng bao bọc một tập các đối tượng tương tác như thế nào.  
Mediator khuyến khích ghép nối lỏng lẻo bằng cách giữ cho các đối tượng không liên quan  
đến nhau một cách rõ ràng, và nó cho phép bạn thay đổi tương tác của họ một cách độc  
lập.  
11  
 
docx 11 trang myanh 24780 Free
Bạn đang xem tài liệu "Đồ án cuối kỳ môn Lập trình hướng đối tượng - Đề tài: Mẫu thiết kế Mediator - Hồng Quốc Lâm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxdo_an_cuoi_ky_mon_lap_trinh_huong_doi_tuong_de_tai_mau_thiet.docx
  • pptxObserver (đã kèm bài tập ở cuối file).pptx