← 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