Tôi đang làm việc trên một hệ thống là người dùng có thể chỉnh sửa đối tượng hiện có ("Lọc" đối tượng tên miền chính xác) thông qua GUI. Như một gợi ý UI, chúng tôi chỉ muốn kích hoạt nút lưu nếu người dùng thực sự sửa đổi một cái gì đó cho đối tượng. Tôi đã tự hỏi nếu có ai có bất kỳ kinh nghiệm với vấn đề này và cách tốt nhất là để tiếp cận này là gì.chỉnh sửa đối tượng và isDirty() cờ
Tôi đã suy nghĩ về việc thêm cờ isDirty() vào đối tượng miền. Khi người dùng bắt đầu chỉnh sửa một Bộ lọc, sau đó tôi sẽ tạo một bản sao, chuyển nó vào GUI và cho phép người dùng thực hiện các sửa đổi đối với bản sao. Một ràng buộc trên cờ isDirty() sau đó sẽ kích hoạt/vô hiệu hóa nút lưu. Khi lưu, sự khác biệt sau đó sẽ được hợp nhất vào đối tượng ban đầu và được duy trì.
Bổ sung, tôi đã nghĩ điều gì sẽ xảy ra nếu người dùng hoàn tác các thay đổi mà anh đã thực hiện cho đối tượng. Cờ isDirty() sau đó sẽ trả về false. Vì vậy, tôi đoán cách duy nhất để đạt được điều này là giữ giá trị ban đầu của mỗi thuộc tính bên trong đối tượng miền.
Bất kỳ ý tưởng nào?
Cảm ơn tất cả các bạn trả lời. Tôi đã chấp nhận câu trả lời này vì nó là câu trả lời đầu tiên và có nhiều upvotes nhất. –
Điều này nghe có vẻ khủng khiếp như CSLA. Nếu bạn đang sử dụng .NET, tôi khuyên bạn nên kiểm tra. http://www.lhotka.net –