One of the things I've been trying to do is look for simpler or rules underpinning good or bad design. I think one of the most valuable rules is avoid duplication. "Once and only once" is the Extreme Programming phrase.
Martin FowlerA pattern is an idea that has been useful in one practical context and will probably be useful in others.
Martin FowlerWhen you actually sit down to write some code, you learn things that you didn't get from thinking about them in modeling terms...there is a feedback process there that you can only really get at from executing some things and seeing what works
Martin Fowler