Estoy trabajando en un sistema donde un usuario puede editar objetos existentes (objetos de dominio "Filtrar" para ser exactos) a través de una GUI. Como sugerencia de UI, solo queremos habilitar el botón de guardar si el usuario realmente modificó algo al objeto. Me preguntaba si alguien tenía alguna experiencia con este problema y cuál sería la mejor manera de abordarlo.edición de objetos y bandera isDirty()
Estaba pensando en agregar una bandera isDirty() al objeto de dominio. Cuando un usuario comienza a editar un filtro, yo hago una copia, la paso a la GUI y le dejo al usuario modificaciones en la copia. Un enlace en el indicador isDirty() activaría/desactivaría el botón de guardar. Al guardar, las diferencias se fusionarían en el objeto original y se mantendrían.
Además, estaba pensando qué pasaría si un usuario deshace los cambios que hizo a un objeto. El indicador isDirty() debería devolver falso. Así que supongo que la única forma de lograr esto es mantener el valor original de cada propiedad dentro del objeto de dominio.
¿Alguna idea?
Gracias por todas las respuestas chicos. Acepté esta respuesta ya que era la primera y tenía la mayoría de los votos a favor. –
Esto suena mucho como CSLA. Si está usando .NET, recomendaría verificarlo. http://www.lhotka.net –