> > 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.

-~----------~----~----~----~------~----~------~--~---

Responder a