Knowledge Maxxing
← Back to topic library
Dev MaxxingIntermediateSoftware Design75 sec

Design pattern

A design pattern is a named, reusable solution to a commonly occurring software design problem, giving developers a shared vocabulary for a familiar structure.

What matters

Recognizing a known pattern lets developers communicate a design quickly by name, and borrow a solution already proven to work well for that kind of problem.

Example

Naming a design as following the 'observer pattern' immediately tells another developer that objects subscribe to and get notified of another object's changes.

Common misconception

A design pattern is not a specific piece of reusable code to copy directly; it's a general structural idea that gets implemented differently depending on the language and situation.

Recall question

What does naming a design 'the observer pattern' communicate to another developer?

Keywords and related concepts

design patternsoftware architecturereusable solutionseparation of concerns

Related topics

Separation of concerns
Dev MaxxingIntermediate
Dependency injection
Dev MaxxingIntermediate