Date archives: September 16th, 2007

</teesside><virtual-playground>

Well, my University life is over, I’m no longer a student, and I’m staggering, blinking, into the light, arms open and ready to embrace the Real World. In fact, the transition hasn’t been so difficult. I started work back at Virtual Playground – the company where I completed my industrial placement – almost immediately upon completing my course. Nothing had really changed in the year I’d been gone, so I was able to hit the ground running, already familiar with the codebase and the toolchain used there. We completed Prison Tycoon 3, and then moved on to do some refactoring concurrently with our next project.

Probably the biggest part of this refactoring effort has been the move to an aggregation-driven object system. That is, up until now we’ve had a classic deep hierarchy, adding functionality by deriving new classes, pushing functionality further up the hierarchy when we need to share it, and so forth. This is not ideal. We’ve been told time and again how composition is more effective, more flexible, and generally safer than inheritance. Many of us are already comfortable with the inheritance-driven model, though, and are used to working with it and finding ways round its flaws.

Continue reading