though I'd pass this along for another viewpoint. Mark Guzdial's latest perspective on powerful ideas, abstractions and design patterns: http://www.amazon.com/gp/blog/post/PLNK13L1MC1Q3613J