Sobre os padrões de projeto de software, considere as afirmativas seguintes.
I O padrão de projeto Façade é estrutural e pode ser usado para envolver uma interface mal desenhada, com uma interface mais bem definida.
II O padrão de projeto Memento é implementado com três objetos: o originator, um caretaker e um memento. Este padrão de projeto permite recuperar um estado anterior de um objeto.
III O padrão State é classificado como comportamental e pode ser usado para encapsular a mudança de comportamento de um objeto em decorrência da mudança do estado deste objeto.
IV O padrão Singleton pode ser usado para complementar a implementação do padrão State, de forma a garantir que cada estado do objeto manipulado tenha uma instância única.
Está(ão) correta(s) a(s) afirmativa(s)