Design Patterns

Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. They are commonly used in object oriented programming.