> > Por otro lado, para evitar el uso de markDirty, cuando una transacción > > hace checkpoint, manda markDirty a todos los objetos levantados en > > esta transacción. Esto no me parece "buena solución" ya que estaría > > guardando todos los objetos todas las veces (porque uso una única > > transacción) ¿es así?, ¿si yo marco a un objeto como dirty, por más de > > no haberlo modificado, se escribe una nueva versión en la BD?
> En Dolphin podes redefinir Object>>errorInstVarAt:put: en la superclase de > tu modelo para que haga el #markDirty y cuando levantas las inatancias les > mandas #beImmutable. En VW tambien tenes el mecanismo, lo que nunca termine > de entender era como implementarlo ya que me parecio que era con > excepciones. Si podes y lo ves contanos! > En mi opinion la implementación de Dolphin es extremadamente comoda, incluso > para bases de datos relacionales. En VW también tenes ese mecanismo, pero el hecho de hacer a la instancia inmutable también estaría metiendo "ruido" en mi código, sin contar el hecho de que cada vez que se modifique una var de instancia se estaría levantando una excepción y debería manejarla, cosa que no se cuanto afectaría a la performance. En la imagen actual de VW 7.4.1 el manejo de inmutabilidad es por primitivas y levanta una excepción que es capturada, en versiones anteriores (7.3/7.4) existe un paquete que es el ModTracking que ayuda un poco a hacer esto de forma más transparente y sin la necesidad de marcar a tu objeto como immutable, simplemente cambiandole la politica de modificación. > Saludos > GallegO -- Saludos Chiara "Peace cannot be kept by force; it can only be achieved by understanding." Albert Einstein --~--~---------~--~----~------------~-------~--~----~ Ha recibido este mensaje porque está suscrito a Grupo "clubSmalltalk" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a [email protected] Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups-beta.google.com/group/clubSmalltalk?hl=es. -~----------~----~----~----~------~----~------~--~---
