Design Patterns

Design patterns are reusable solutions to commonly occurring problems in software design. They represent best practices adopted by experienced object-oriented programmers and can improve code readability and maintainability.

Wikipedia