[ Bope @ 23.04.2010. 21:10 ] @
Pozdrav! Pravim u Javi jedan program u kome objekti medjusobno komuniciraju preko Observer/Observable sablona. To fino radi, objekat "A" je "posmatran" od strane objekta "B" koji "hvata" dogadjaje objekta "A". Medjutim, kada serijalizujem i deserijalizujem objekte koji na taj nacin komuniciraju, negde u tom procesu se izgubi veza izmedju ta dva objekta, tj nakon deserijalizacije objekti vise ne mogu jedan drugog da obavestavaju o dogadjajima. Da li je problem u mom kodu ili serijalizacija "ne voli" Observer/Observable pattern? Implementirao sam "readObject" metodu u kojoj eksplicitno povezujem objekte A i B, ali to resenje malo "smrdi", a bez njega imam problem.... :\ E sad, komplikacija zbog koje nisam siguran da li je moj princip los ili je nesto do serijalizacije: Zbog toga sto su i A i B izvedene klase, morao sam da napravim svoju Observable klasu: public class Generator Extends Observable implemetns Serializable { ... } Klasa A: public class A extends D implements Serializable { Generator gen = new Generator(); public getGenerator() { return gen; } } Povezivanje objekata sam izvrsio po sledecem principu: public class B extends C implements Serializable { A objekatA = new A(); public void nekaMetoda() { objekatA.getGenerator.addObserver(this) //this je objekat B } } Gde gresim? |