Padrões de projetos são soluções documentadas para problemas comuns na programação que podem ser adaptadas a novas situações. Eles descrevem problemas, soluções e benefícios. Existem padrões de criação, estruturais e comportamentais. Alguns exemplos são Abstract Factory, Adapter e State.