Whenever programmers, like us, talk about design patterns, we're talking about high level approaches to architecting code, with the intent of improving flexibility and maintanability in the long-term.

Most people I speak to generally think about design patterns as an OO-specific concept. I'm in the process of reading Head First Design patterns, and don't really understand why any of the concepts are covering are OO specific. Many of them can apply to 'procedural' type design also.

Apparently, Yahoo agrees with me. Design patterns are not an OO specific concept. They recently released a set of Design Pattern Libraries. These libraries have nothing to do w/ architecting applications; they are all about the view (or User Interface). Things like navigation tabs, search pagination, 'object' ratings, and writing reviews are not something you'd find in the "model" portion of your app.

Along with the UI Design Patterns, they have released libraries of AJAX related UI components.

I haven't delved into any of this yet, but clients are clamoring for for some of the functionality they see in Yahoo (and Google) products, so perhaps this can give you (and me) a headstart.

I wonder if Amazon.com sues has patents over things like "writing a review" and "rating an object".