Design Patterns Benefits
Distil design experience.
Give expertise to beginners.
Describe a solution that isn’t obvious.
Capture and preserve design information.
Facilitate restructuring/refactoring.
Enhance understanding of program.
Add flexibility, modularity and elegance to the code.