Sobre as definições de Design Patterns (Padrões de Desenvolvimento de Software) e suas principais aplicações, analise as afirmativas abaixo e assinale a alternativa correta. I. São soluções generalistas para problemas recorrentes durante o desenvolvimento de um software. II. Trata de um framework ou um código pronto. III. É uma definição de alto nível de como um problema comum pode ser solucionado.