A design pattern is a reusable blueprint or template for solving a problem that can be applied across many different situations. Design patterns are formalized best practices that help practitioners address common problems with proven solutions.