« something else to hate about outlook 2003 | Main | SOLUTION for "Rails requires RubyGems >= 1.3.1" problem »

o glorious patterns (of enterprise application architecture)

Two years ago, I started reading Martin Fowler's book, Patterns of Enterprise Application Architecture, on the recommendation of Adam Wolff, whose technical acumen I respect deeply. My first few times attempting the the book, the pages seemed to be made of a soporific variety of lead. I understood the words and the sentences and the paragraphs, but couldn't summon any interest in them.
Today at work, I somehow signed up to give an introductory talk on design patterns, so I went looking for my copy of the Gang of Four. I couldn't find it, but I did find PEAA. I opened the cover and found a list of The Most Amazing Things Ever. Four patterns describing ways to represent complex class hierarchies in databases! Two different patterns for storing session state! Query objects! Remote facade! Value object! Service stub! Finally, here was a vocabulary for the architectural problems that have challenged and puzzled me for the last two years! O glorious book! Just reading the inside front cover has crystallized hours of design discussions and a comparative analysis of a dozen web application frameworks. This is beautiful stuff!
Now I see why Adam was so excited about PEAA two years ago, and why I wasn't, and why I am now. If you're not building enterprise applications, there's no reason to care about the patterns. Studying them is dry and, joyless. If you are building enterprise applications, you spend your best moments thinking about the issues addressed by these patterns. If you're lucky enough to work with other people -- and really, who builds an enterprise app alone? -- then you spend hours each day talking about these issues. Beautiful, beautiful, glorious book!

Reader Comments (1)

Ben, this makes we want to read this book. I am going to look for it this weekend.

2.20.2009 at 10:18 AM | Unregistered CommenterSean J. Hoskin

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>