Giới thiệu tài liệu
Tài liệu này giới thiệu về mẫu thiết kế Strategy và Template Method, hai mẫu thiết kế quan trọng trong lập trình hướng đối tượng. Strategy cho phép định nghĩa một họ các thuật toán, đặt mỗi thuật toán vào một lớp riêng biệt và làm cho các đối tượng của chúng có thể hoán đổi cho nhau. Template Method định nghĩa bộ khung của một thuật toán ở lớp cha và cho phép các lớp con override lại một hoặc nhiều bước trong thuật toán mà không làm thay đổi cấu trúc của nó.
Đối tượng sử dụng
Sinh viên, nhà nghiên cứu và các nhà phát triển phần mềm quan tâm đến việc tìm hiểu và áp dụng các mẫu thiết kế trong lập trình hướng đối tượng.
Nội dung tóm tắt
Tài liệu này trình bày chi tiết về mẫu thiết kế Strategy và Template Method. Đối với Strategy, tài liệu giải thích khái niệm, động lực sử dụng, cấu trúc, các thành phần tham gia, sự cộng tác giữa các thành viên, ưu điểm và nhược điểm, cách cài đặt và so sánh với các mẫu liên quan như Bridge, State, Command, Decorator. Ví dụ, Strategy cho phép chuyển đổi giữa các thuật toán trong lúc runtime, cô lập triển khai chi tiết của một thuật toán khỏi đoạn code sử dụng nó, thay thế kế thừa bằng thành phần và đảm bảo nguyên tắc OCP. Tuy nhiên, nếu chỉ có một vài thuật toán và hiếm khi chúng thay đổi, việc sử dụng Strategy có thể làm phức tạp hóa chương trình. Đối với Template Method, tài liệu giải thích khái niệm, mục đích, cách thức hoạt động, động lực sử dụng, cấu trúc, các thành viên tham gia, ưu điểm và nhược điểm, cách cài đặt và so sánh với các mẫu liên quan như Factory Method. Template Method cho phép tái sử dụng code, tránh việc các đoạn code bị lặp lại bằng cách đưa những phần code trùng lặp vào lớp cha và cho phép người dùng override một số phần nhất định của thuật toán. Tuy nhiên, client có thể bị giới hạn trong phạm vi và cấu trúc được định hình từ trước của một thuật toán và có thể vi phạm nguyên tắc Liskov Substitution.