I find it easier to let patterns emerge when I am programming, than actually build them in from the get go.
You can see patterns emerge if you
It seems that most patterns arise out of these manipulations. Or maybe it seems like that, now that I already know the patterns.
In some cases, I have seen developers put in too many classes in the name of following patterns. I got a couple of them into the habit of discovering the need for patterns instead of anticipating it.
-- AamodSane
See also: ExtremeProgrammingAndPatterns, CanAnArchitectureEmerge