Show in graph

Software → Software Design

Design Pattern

A named, reusable approach to a recurring software design problem in a particular context.

Design Pattern

A design pattern is a reusable description of a design problem, its context, and a proven structure for solving it. Patterns provide a vocabulary for discussing designs such as Strategy, Adapter, Observer, Factory, and Repository.

Use patterns as tools

A pattern is not a goal. Apply one when its trade-offs fit the problem and the team benefits from the shared structure. Premature pattern use can add indirection, obscure simple behavior, and make code harder to change.