A Programação Orientada a Objetos permite a criação de sistemas complexos e escaláveis. No entanto, a escolha de padrões de design adequados é crucial para o sucesso do projeto. Qual dos seguintes padrões de design é mais adequado para resolver problemas relacionados à criação de objetos?