Bài giảng "Mẫu thiết kế hướng đối tượng và ứng dụng: Mẫu Strategy" cung cấp cho người học các kiến thức: Ngữ cảnh mẫu Strategy, hướng tiếp cận mẫu Strategy, cài đặt, các vấn đề xung quanh. | Mẫu Strategy GV. Nguyễn Minh Huy Mẫu thiết kế hướng đối tượng amp ứng dụng - Nguyễn Minh Huy https tailieudientucntt 1 Mẫu Strategy Ngữ cảnh cảnh Bài toán toán Sắp xếp mảng mảng. Thanh toán hóa đơn đơn. Vẽ một loại hình hình. Mục tiêu tiêu Có nhiều thuật toán xử lý cho một phương thức thức. Có thể lựa chọn thuật toán khi chương trình thực hiện hiện. Có thể thay đổi thuật toán lựa chọn nhiều lần. lần. Mẫu thiết kế hướng đối tượng amp ứng dụng - Nguyễn Minh Huy https tailieudientucntt 2 Mẫu Strategy Hướng tiếp cận cận Nhiều thuật toán xử lý khác nhau nhau Tạo lớp thuật toán tổng quát quát. Tạo lớp kế thừa cho mỗi thuật toán cụ thể. thể. Lựa chọn thuật toán xử lý cho phương thức thức Trang bị đối tượng thuật toán cho lớp chứa phương thức thức. Khi gọi phương thức thức nhờ đối tượng thuật toán thực hiện hiện. Thay đổi thuật toán lựa chọn nhiều lần lần Cho phép cập nhật đối tượng thuật toán đã trang bị. bị. Mẫu thiết kế hướng đối tượng amp ứng dụng - Nguyễn Minh Huy https tailieudientucntt 3 Mẫu Strategy Hướng tiếp cận cận Mẫu thiết kế hướng đối tượng amp ứng dụng - Nguyễn Minh Huy https tailieudientucntt 4 Mẫu Strategy Cài đặt đặt class Receipt class Payment private public Payment m_pay m_pay virtual double calculate 0 public double calculate class CashPayment CashPayment public Payment public double Receipt calculate double calculate calculate return m_pay m_pay-- gt calculate gt calculate class CreditCardPayment CreditCardPayment public Payment public double calculate calculate Mẫu thiết kế hướng đối tượng amp ứng dụng - Nguyễn Minh Huy https tailieudientucntt 5 Mẫu Strategy Các vấn đề xung quanh quanh Cập nhật đối tượng thuật toán bằng cách nào nào Khởi tạo thông qua constructor. Chỉ lựa chọn 1 lần lần không thể thay đổi lần sau sau. Tạo phương thức truy xuất get set . Phải lưu đối tượng thuật toán toán. Cập nhật thông qua tham