When a user selects a record in a datagrid I launch a pop-up window with more detailed info. The user can make changes to the record in this window but they don't have to save them. For example, they can click the X to close the window.
Unfortunately, I am stupid and whenever a user makes changes I update the objec开发者_如何学JAVAt directly.
Is there a pattern for copying the object and then mapping the changes to it when a user confirms they want to save?
Thanks!
I wouldn't go with copy and merge. Why don't you just update the object only if the user explicitly wants to update/save? Let the UI be UI and condense the relevant information from it as soon as you need it. Another way that may be appliable, if you want something like temporary edits, would be using commands for every atomic update, where every command has an inverse - undo - command. If you keep these in a history, you could just go back to the initial state.
精彩评论