Assim como em outros paradigmas de programação, e até outras engenharias, os padrões de projeto trazem cenários corriqueiros com soluções que foram discutidas, analisadas, e comprovadamente eficientes para a solução. A orientação a objetos permite e facilita a criação destes padrões, o que não é tão simples em uma linguagem puramente estrutural. Porém outros paradigmas, como a programação funcional, também complementam o acervo de padrões com novas abordagens.