I'm designing a class hierarchy for handling the complex internal structure of users, chatrooms, buddylist, sockets, etc. in a chat server. I plan to either make to project open source or at least the protocol.
This is the structure I was looking at using for the common library that contains all of the object that the server, client, and monitor all use.
Is there any way you can think of to improve upone this structure? Is the image too disorganized? Is there a simpler way? Keep in mind several of the classes will be serialized to XML for transfering over the network, and to binary for storage on the local medium.
No code please, just plain english or diagrams.
Looking to make this less complex, easier to understand.