|
From: Hernan L. <her...@de...> - 2003-11-27 00:24:20
|
En base a esto, que ya está algo charlado, vamos a continuar la
discusión esta noche para determinar como implementar la interface de
persistencia.
Actualmente tenemos dos implementaciones dummy pero con interface final
de queries.
Como para empezar tengo lo siguiente:
1) Necesitamos proxies dinamicos.
Cuando se consigue un collection de objetos, estos deben ser proxies
locales (en la misma maquina virtual cliente) a objetos clonados de la
base.
Necesitamos ver que vamos a utilizar para implementar estos
dyna-proxies. BCEL, aspectos? - lo importante, no y no esperar que los
objetos sean beans.
2) En principio un proxy tiene estos atributos privados:
Object cloneObject; // referencia a una copia del objeto al que se
proxea
int iVersion; // la version del server del objeto que
se clono. cuando se persista, se verificara que la version es la misma,
luego se la incrementara. Si la version no es la misma, Exception por la
cabeza
UUID remoteReferenceID; //una referencia que identifica univocamente
al objeto para comunicacion con el server.
3) En estos dias me estoy empezando a hartar del pattern decorator
(chan!). Que PersistentCollection implemente Collection me parece un
error grave. Porque tengo que implementar metodos como add, containsAll,
retainAll, contains cuando no aplican.
4) A PersistentCollection le agregaria los metodos:
void destroy(Object);
Object publish(Object);
Collection publish(Collection);
Nos vemos
|