22 Feb 2000 DizzyD   » (Journeyer)

More stuff. :) I ran into some design problems with jabberoo today..actually it's a trap I keep falling into -- designing a solution for too many problems. I was (as crazy as it may sound) trying to write a wrapper which handled async/sync sockets with one interface (impl, platform specific of course). Obviously, there's a host of problems that show up with this approach, not the least of which is integrating the events into another object cleanly (which I needed to do). What it basically came down to was re- thinking and restricting the Transmitter abstraction to a simple goal: send data or throw an error. Nothing more.

This fires some interesting thoughts on the way that OO design is approached as a whole. I fear too many of us (myself included) view the OOP as a complete solution for every implementation issue. The fact of the matter is the objects simply provide us with a way of wrapping up functionality into neat pieces. OO provides a nice way of writing resuable chunks of code that can be platform independent. However, once you hit a certain level of abstraction, you should by all means, embrace the platform specifics. That's where a good object-oriented design is most powerful I think -- packaging code for reuse in such a way that dependicies on platform-specifics are minimized, but at the same time are fully utilized. :)

Ahh..my head feels lighter now.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!