edição de objeto e sinalizador isDirty ()

Eu estou trabalhando em um sistema onde um usuário pode editar objetos existentes ("Filtrar" objetos de domínio para ser exato) através de uma GUI. Como uma dica da interface do usuário, queremos apenas ativar o botão salvar se o usuário realmente modificou algo para o objeto. Eu queria saber se alguém tinha alguma experiência com esse problema e qual seria a melhor maneira de abordar isso.

Eu estava pensando em adicionar um sinalizador isDirty () ao objeto de domínio. Quando um usuário começar a editar um filtro, eu faria uma cópia, passaria para a GUI e deixaria o usuário fazer modificações na cópia. Uma ligação no sinalizador isDirty () ativaria / desativaria o botão salvar. Ao salvar, as diferenças seriam então mescladas no objeto original e persistidas.

Além disso, eu estava pensando no que aconteceria se um usuário desfizesse as alterações feitas em um objeto. O sinalizador isDirty () deve retornar false. Então eu acho que a única maneira de conseguir isso é manter o valor original de cada propriedade dentro do objeto de domínio.

Alguma ideia?

questionAnswers(7)

yourAnswerToTheQuestion