Have you ever found yourself spending more time trying
to learn patterns than actually designing or coding your
application? It's easy to do. With the maturation of
.NET, suddenly everywhere you look you see
presentations, books, and blog posts talking about this
pattern or that pattern, each asserting that the other
is inferior for some obscure reason. And you, being the
mature .NET developer that you are, follow these
conversations, desperately trying to find the "magic"
patterns that will make your next project perfectly
maintainable, easily extendable, and consistently
scalable from the get-go. I know, because I've been
there.