a) Compor objetos em estruturas de árvore para representarem hierarquias partes-todo. Ele permite aos clientes tratarem de maneira uniforme objetos individuais e composições de objetos.
b) CORRETA
c) Desacoplar uma abstração de sua implementação para que os dois possam variar independentemente.
d) Separar a construção de objeto complexo de sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
e) Definir uma família de algoritmos, encapsular cada um e torná-las intercambiáveis. Permite que o algoritmo varie independente dos clientes que o utilizam.