Every now and then a book comes along that reshapes how people look at the world in which they live and work. Surprisingly to many, a work of traditional architecture by Christopher Alexander called A Pattern Language, ultimately led to the seminal software architecture book by Erich Gamma, et al called, Design Patterns: Elements of Reusable Object-Oriented Software. This latter book has spawned countless imitators in many different areas of the software development world from business software to database to programming languages galore. Interestingly, this is more than just a “me-too” phenomenon: Alexander’s original insight that certain elements of design repeat in many different places and ways (which defines what he calls a “pattern”) actually works as well, or better, for software where pattern is rampant and visible almost anywhere someone with an analytical bent might care to look.
The latest entrant in the Design Patterns parade comes from Microsoft, in the form of a free e-book. It’s called patterns & practices Application Architecture Guide 2.0. It does for .NET Framework based applications what the other books do for different niches: explain how to identify, codify, and use recurring patterns in an interesting and productive way when it comes to creating software architecture, designing applications or services, or building such things (for .NET-based code, this usually means working in Visual Studio with a suitable programming language and add-ins galore to help speed and manage the development process).
If you want to get a deep insightful look into the notion of pattern and how it shaped a genre of software books, read Alexander in the original. If you want to understand why it had such an impact on the software biz, check out the Gamma Design Patterns book. If you want to put this metaphor and method to work with .NET grab the patterns & practices e-book: unlike the other two titles, it won’t cost you anything, either. Whoda thunk you could say something like that about Microsoft?