I remember reading an article by Grady Booch a couple of years ago (I can't find it now) where he acknowledged that object oriented programming had not delivered many of the promises around object reuse that people had expected, however one of the unexpected benefits to object oriented programming (in addition to the obvious benefits of encapsulation, inheritence, polymorphism and modularity) was that of design patterns - the ability to capture best practices for solving particular software design choices.

For anyone interested in Software Patterns you might want to take a look at this months edition of IEEE Software as it is focused purely on software patterns. The magazine includes a large number of articles on topics ranging from the Past, Present and Future Trends in Software Patterns, Organizing Security Patterns and a must read (for anyone not already convinced of the value of patterns) by James Noble called Every Good Designer Uses Patterns. There is also an article from the Microsoft Patterns & Practices team that Dragos, Wojtek, Ade and I worked on called The Growing Divide in the Patterns World - in which we surveyed a large number of professional software engineers to find out the extent to which they were using software patterns on a day to day basis. The results as I am sure you will agree were very interesting! Enjoy...

 IEEE Software