Config động, thay đổi giá trị tại runtime?

  1. Lập trình

giả sử mình muốn config động, tức là thay đổi giá trị config trong quá trình chạy chương trình. Giải pháp thường thấy là sử dụng 1 class Configs để load và reload.
Tuy nhiên trong trường hợp người lập trình (nói cách khác chính là mình) lấy 1 giá trị config và gán cho 1 object nào đó (Ví dụ như random seed) hoặc nghiêm trọng hơn là load giá trị config vào 1 phần của 1 constant hoặc field protected, private và được sử dụng bởi các object khác tầng tham chiếu thứ 3, thứ 4, ...
Như vậy việc thay đổi giá trị của static fields trong class Config có thể không đủ để mang lại kết quả mong đợi, thậm chí có thể gây xung đột giữa config cũ và mới khi runtime.

Liệu có thể giải quyết vấn đề này như thế nào? Có thiết kế nào để ngăn ngừa việc sử dụng giá trị config thiếu an toàn không?

Từ khóa: 

lập trình