Jani Hartikainen has posted a few suggestions on how you can structure your code to make (unit) testing it easier in the long run.
I've recently been working on a code-base which wasn't designed with test-driven development methodologies, or with unit testing in mind. As I implemented unit-tests to this code, there were some modifications I had to do on the code. Some modifications popped up more than others. There were a few things that are more common than others - Let's look at what they were and how they affect the code and tests.
He breaks it up into three different ideas - stop creating new objects in classes, keeping your methods' functionality down to a minimum and doing the same with classes. The smaller the "chunks" of code are, the easier they are to test.