Considere a tabela abaixo. A coluna da esquerda mostra uma lista de 7 (sete) algarismos romanos com nomes de alguns padrões de projeto. A coluna da direita mostra uma outra lista de 7 (sete) números normais que exibem definições sobre padrões de projeto. A definição à direita não é necessariamente a definição correta para o padrão da esquerda. Escolha a alternativa que faz a associação correta entre o nome do padrão e sua definição:
| Lista de Nomes de Padrões de Projeto | Definições de Padrões de Projetos |
| I. Visitor | 1. Esse padrão permite encapsular uma operação na forma de um objeto. Dessa forma, permite parametrizar clientes com diferentes solicitações, enfileirar ou fazer o registro (log) das solicitações e suportar operações que possam ser desfeitas (undo). |
| II. Template Method | 2. Esse padrão fornece uma interface unificada para um conjunto de interfaces em um subsistema. |
| III. Strategy | 3. Esse padrão garante que só exista uma instância de uma determinada classe. |
| IV. Composite | 4. Esse padrão permite que uma nova operação seja criada e usada por determinados objetos, sem que seja necessário alterar a estrutura da classe desses objetos. |
| V. Façade | 5. Esse padrão permite definir uma família de algoritmos, de forma que eles possam ser trocados dinamicamente, em tempo de execução, sem que os clientes sejam impactados. |
| VI. Singleton | 6. Esse padrão permite definir um esqueleto de um algoritmo em uma operação, postergando a implementação de alguns passos para as subclasses. |
| VII. Command | 7. Esse padrão permite compor objetos em uma estrutura de árvore, representando hierarquias do tipo todo-parte |