Gần đây tôi đã bắt đầu xem xét các Mẫu thiết kế và một điều tôi đang viết mã sẽ phù hợp hoàn hảo với mẫu Chiến lược, ngoại trừ một khác biệt nhỏ.
Về cơ bản, một số (nhưng không phải tất cả) các thuật toán của tôi, cần một tham số phụ hoặc hai được truyền cho chúng.
Vì vậy, tôi sẽ cần phải
- truyền cho họ một tham số phụ khi tôi gọi phương thức tính toán của họ
hoặc là
- lưu trữ chúng dưới dạng các biến trong lớp ConcreteAlerskym và có thể cập nhật chúng trước khi tôi gọi thuật toán.
Có một mẫu thiết kế cho nhu cầu này không / Làm cách nào tôi có thể thực hiện điều này trong khi bám sát Mẫu chiến lược?
Tôi đã xem xét chuyển đối tượng khách cho tất cả các thuật toán và lưu trữ các biến trong đó, sau đó chỉ sử dụng khi thuật toán cụ thể cần. Tuy nhiên, tôi nghĩ rằng điều này vừa khó sử dụng, vừa đánh bại điểm của mô hình chiến lược.
Để rõ ràng tôi đang triển khai trong Java và do đó, không có sự sang trọng của các tham số tùy chọn (sẽ giải quyết điều này một cách độc đáo).