Hầu như mọi lập trình viên đã làm điều đó một lần trong cuộc đời của mình: thiết lập một số cờ nếu giá trị của biến thay đổi. Luôn luôn có rất nhiều đặc tính và bạn muốn theo dõi nếu có điều gì thay đổiCác cách khác nhau để thực hiện chức năng 'cờ bẩn'
- trong bất cứ tài sản
- trong một tài sản cụ thể
- hoặc trong một số bộ thuộc tính
Tôi quan tâm theo các cách khác nhau để thực hiện chức năng "cờ bẩn" cho các tình huống trên, bên cạnh cờ bẩn rộng đối tượng tiêu chuẩn được cập nhật trên mỗi thay đổi thuộc tính. Phải có một cái gì đó tốt hơn là đặt "dirty = true" trong mỗi bộ setter: nó chỉ trông xấu xí và là một công việc tẻ nhạt.
Tại sao nó tốt hơn rất nhiều so với việc có cờ bẩn cho mỗi thuộc tính? Bạn đang giữ nhiều dữ liệu hơn trong bộ nhớ. Tôi không nói những gì bạn đang làm là không tốt hơn, nhưng bạn đã không biện minh cho nó. –
Nếu bạn thực sự nghĩ về nó, tôi không nhất thiết phải giữ nhiều dữ liệu hơn trong bộ nhớ vì tôi không cần phải mang cờ trạng thái cho mỗi thuộc tính. Tôi không cần phải lo lắng về việc thiết lập nó trở lại "không thay đổi" nếu giá trị trả về giá trị ban đầu. Cũng lá cờ bẩn sẽ KHÔNG cho phép tôi quay trở lại. –
Tôi đang làm điều tương tự với DAO của tôi. Rất vui được xác nhận! – MicSim