Benefits of Design Patterns
don't provide solutions, they inspire solutions.
explicitly capture expert knowledge and design tradeoffs and make
this expertise widely available.
the transition to object-oriented technology.
improve developer communication
names form a vocabulary.
document the architecture of a system
patterns enable large-scale reuse of software architectures