Design Patterns Reconsidered

This presentation has been given on the No Fluff Just Stuff conference tour and also at the JavaOne 2008 conference (in different forms).


One of the many things I love about working on software is the process of design. I love the feeling of rolling a problem around in your head or hashing it out with someone at a whiteboard and contemplating alternate ways to structure the solution at the level of pure thought stuff.

This talk has two parts. In the first, we look at what patterns are, why some people criticize design patterns, and why these criticisms do not eliminate the usefulness of patterns. In the second part, we will look at a few specific patterns in Java and more deeply consider them as problems in context with multiple possible solutions. The intent is to emphasize that no pattern has any one particular implementation and that they are really solution ideas of common problem contexts.