A software design pattern, in the context of software engineering, is a general, reusable solution to a commonly occurring problem within a given context in software design.
Main categories for software design patterns:
A full list of most common software design patterns can be found on this link.
You might also be interested in…
- Wikipedia; “Software design patterns“; Wikipedia