2. Nội dung bài thuyết trình
Khái niệm về design pattern và phân loại design pattern
Ý tưởng cơ bản và những vấn đề liên quan của:
Observer pattern
Mediator pattern
So sánh 2 mẫu thiết kế trên, phân tích điểm mạnh, yếu.
Kết luận
4. Design pattern là gì?
Là những giải pháp thiết kế có thể được sử dụng lại
Giải quyết những vấn đề xảy ra thường xuyên
Không phải là “code“ mà là “ý tưởng“.
Giải quyết 1 loại vấn đề trong nhiều ngữ cảnh
9. Ví dụ của Observer pattern
Vấn đề của code trên là gì?
Khi thêm 1 thiết bị display mới, phải thay đổi code
Đối tượng WeatherData “phải“ nhìn thấy các đối tượng display
=> Không thể xây dựng được API.
Giải pháp:
Observer pattern
12. Những vấn đề liên quan(1)
Có nhiều subject và nhiều observer
Đối tượng nào kích hoạt update?
Đảm bảo các trạng thái của subject ổn định trước khi thông báo
13. Những vấn đề liên quan (2)
Chỉ định những phần mà observer quan tâm
Đóng gói logic giao tiếp phức tạp
Những pattern liên quan: Factory, Template, Mediator
Ứng dụng thực tế: Model MVC, Event Management,...
18. Những vấn đề liên quan
Abstract mediator
Tương tác giữa mediator và colleagues
Sự phức tạp của đối tượng Mediator
Thường được sử dụng trong User interface và Chat application
20. Thảo luận
Observer pattern được dùng khi nào?
Mediator pattern được dùng khi nào?
Ưu, nhược điểm của observer pattern?
Ưu, nhược điểm của mediator pattern?
Cách khắc phục?
22. Kết luận
Observer pattern tập trung thiết kế cơ chế : quan sát (observer) và được quan sát (observable)
Mediator pattern tập trung thiết kế cơ chế điều hoà giao tiếp phức tạp giữa các đối tượng.
Điểm mạnh của 2 pattern này là đảm bảo sự độc lập giữa các lớp.
Điểm yếu của Observer pattern : quan hệ nhiều – nhiều.
Điểm yếu của Mediator pattern: Sự phức tạp của lớp Mediator.