Mẫu Strategy (mẫu chiến lƣợc)

Một phần của tài liệu Vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng Tổ chức và quản lý hoạt động giao công việc (Trang 31)

4. Túm tắt cấu trỳc của luận văn

1.3.10. Mẫu Strategy (mẫu chiến lƣợc)

1.3.10.1. í nghĩa

Một bài toỏn, chƣơng trỡnh cú nhiều thuật toỏn khỏc nhau để giải quyết một vấn đề nào đú. Mẫu này cho phộp thực hiện việc đúng gúi đối với từng thuật toỏn trong họ, và cho phộp Client lựa chọn thuật toỏn cụ thể trong số đú khi sử dụng.

1.3.10.2. Cấu trỳc mẫu

Hỡnh 1.14: Cấu trỳc mẫu Strategy Cỏc thành phần tham gia vào cấu trỳc mẫu Strategy:

Strategy: Định nghĩa giao diện cho tất cả cỏc lớp thể hiện giải thuật. Cú thể nhận con trỏ tham chiếu đến đối tƣợng ngữ cảnh Context trong quỏ trỡnh khởi tạo đối tƣợng để cú thể cú thờm cỏc dữ liệu chứa trong đối tƣợng ngữ

cảnh Context.

ConcreteStrategy: Triển khai giao diện Strategy để thể hiện một giải thuật cụ thể.

Context: Tại thời điểm biờn dịch, chỉ sử dụng đối tƣợng kiểu Strategy khi xỏc định giải thuật cho vấn đề cần xử lý. Tại thời điểm chạy chƣơng trỡnh, nú cung cấp một đối tƣợng giải thuật cụ thể thay thế cho đối tƣợng Strategy. Cú thể cung cấp con trỏ cho phộp Strategy truy xuất dữ liệu của đối tƣợng Context.

1.3.10.3. Cỏc tỡnh huống ỏp dụng

Mẫu Strategy thƣờng đƣợc ỏp dụng trong trƣờng hợp một lớp cú nhiều hành vi loại trừ lẫn nhau và quỏ trỡnh chuyển từ hành vi này sang hành vi khỏc cần đƣợc thực hiện dễ dàng. Khi đú mỗi hành vi sẽ đƣợc thể hiện trong một lớp ConcreteStrategy.

1.3.10.4. Thuận lợi và hạn chế

Kiến trỳc phõn cấp của những lớp Strategy định nghĩa một họ cỏc thuật toỏn hoặc cỏc hành vi đối với những ngữ cảnh thớch hợp phục vụ cho việc tỏi sử dụng. Việc thực hiện những chức năng chung của thuật toỏn đƣợc thực hiện thụng qua kế thừa giao tiếp chung Strategy.

Việc tỏch sự thực hiện cỏc giải thuật khỏi lớp Context thành cỏc Strategy, và sự kế thừa từ cỏc Strategy tạo nờn sự đa dạng về thuật toỏn và hành vi. Việc thực thi thuật toỏn và thực thi lớp Context đƣợc tỏch biệt, làm cho lớp Context dễ hiểu, dễ bảo trỡ và sử dụng.

Mẫu này cung cấp những cỏch thực thi khỏc nhau cho cựng một hành vi.

Một sự hạn chế của mẫu này là ngƣời dựng phải biết về những Strategy khỏc nhau và phải hiểu bằng cỏch nào để phõn biệt cỏc Strategy trƣớc khi chọn một Strategy chớnh xỏc để thực hiện.

Một phần của tài liệu Vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng Tổ chức và quản lý hoạt động giao công việc (Trang 31)

Tải bản đầy đủ (PDF)

(146 trang)