I am creating an application that is quite complex. There will be several
dozen objects, most of which have delegates defined. At runtime, there will
be several hundred instances of some objects and many dozens of instances of
other objects (e.g. 100+ ClassA's, 10+ ClassB's and 50+ ClassC's etc). At
runtime though, some objects will be configured to make callbacks to other
objects, but this is defined at RUNTIME though.
I want to be able to save these "object relationships" to disk though, and
I'm scared to use serialization. I've seen the horror stories of
serialization on complex/large apps (like this one) and the size/space/time
the serialization-process took... I've also seen custom serialization and
I'm not sure about that yet, but might have to resort to it, but would still
then come back to this particular question though I'm sure...
Does anybody know of an easy way of storing these "object relationships" to
a file so that I can load them and re-establish the links (object
relationships) later ???
I've tried creating an arraylist and populating it with the delegate
invocation list members from a single object and that worked great as far as
persisting that information to a file. I could load that information back
into my object delegates (this all in a test-app of course) and could see
the delegates back in the invocation list of that delegate, but the
callbacks were not made to the target(s) when I invoked the delegate though.
My guess is that the address of the object (target) is different to what was
persisted.
I'm thinking of having some kind of "naming" structure where I can pinpoint
an object by a name for example
"objecta.subObjecta.subSubObjectb.Method" --- but this might be a tough one
to implement.
Anybody have any ideas?
I'm using VB.NET 2003.
Thanks.