ユーザーがGUIを介して既存のオブジェクト(正確には「フィルター」ドメインオブジェクト)を編集できるシステムに取り組んでいます。UI のヒントとして、ユーザーが実際にオブジェクトに何かを変更した場合にのみ、保存ボタンを有効にしたいと考えています。誰かがこの問題を経験したことがあるかどうか、そしてこれにアプローチする最善の方法は何だろうと思っていました.
ドメイン オブジェクトに isDirty() フラグを追加することを考えていました。ユーザーがフィルターの編集を開始したら、コピーを作成して GUI に渡し、ユーザーがコピーを変更できるようにします。isDirty() フラグのバインディングは、保存ボタンを有効/無効にします。保存すると、相違点が元のオブジェクトにマージされて永続化されます。
さらに、ユーザーがオブジェクトに加えた変更を元に戻すとどうなるかを考えていました。その場合、isDirty() フラグは false を返す必要があります。したがって、これを達成する唯一の方法は、各プロパティの元の値をドメイン オブジェクト内に保持することだと思います。
何か案は?