The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Object Graphs & common functionality


As a developer I work a lot with large object graphs (.net objects in my case). For some reason I'm unable to find good information how you would set up a good object graph. Let me explain what I mean by that.

My object graph needs to support for each object:

- Shallow and deep cloning
- Copy and paste parts of the model
- Validation of constraints (business rules)
- Deletion and cascade deletion
- Shallow and deep IEditable support (a way to cancel changes to your object)
- A good pattern to add and remove child objects. (for example remove a employee of a company)
- Support for inverse relations
- For web-applications and remoting stuff objects need to have unique identifiers to manage state-less scenario's
- Support for events (propertychanged, employee added etc)
- Support for dotnet databinding (like the Ibindinglist interface)
- (Optional) support for serialization to XML

Yeah, That's a pretty long list. You can imagine that this is not very easy.

Unfortunately, i never found a good article or documentation about how to implement this (patterns and practices).

Most patterns I know do not consider the whole object graph, making it easy in theory (like memento pattern for cloning) but very difficult to translate into a nig real-world object graph.

How do you handle this? Or do you know a great article or book about this.
Anon for now Send private email
Tuesday, March 06, 2007
Check out CSLA framework at I am really only beginning to experiment with this myself and would be interested in hearing peoples opinions on this...
Tuesday, March 06, 2007
The OP reads almost like the spec for the CSLA.NET framework.  I suggest the OP checks it out.

As for using it goes, I'm currently heading up a large  development effort using CSLA.NET and it kicks ass.
sensible Send private email
Tuesday, March 06, 2007
Thank you for the link to, looks indeed very similar to what I need, I'm checking it out.

Does anybody now a similar framework in Java?
the OP
Tuesday, March 06, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz