Design Patterns: Mẫu Strategy

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Định nghĩa

Strategy là mẫu thiết kế dùng để định nghĩa một họ các thuật toán, đóng gói mỗi thuật toán đó và làm cho chúng có khả năng thay đổi dễ dàng.Strategy cho phép giả thuật tùy biến một cách độc lập tại các Client sử dụng nó.

Sơ đồ UML

Strategy: UML Diagram

Strategy (SortStrategy)

  • Khai báo một giao diện thông thường tới tất cả các giải thuật được hỗ trợ. Context sử dụng giao diện này để gọi các giải thuật được định nghĩa bởi một ConcreteStrategy.

ConcreteStrategy (QuickSort, ShellSort, MergeSort)

  • Cài đặt giải thuật sử dụng giao diện Strategy Context (SortedList)
  • Được cấu hình với một đối tượng ConcreteStrategy
  • Duy trì một tham chiếu tới một đối tượng Stategy
  • Có thể định nghĩa một giao diện để cho Strategy truy nhập dữ liệu của nó.

Các mẫu liên quan

Các đối tượng Strategy thường tạo ra các Flyweight tốt hơn.

» Tiếp: Mẫu Template Method
« Trước: Mẫu Sate
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!