a) o padrão abstract factory é utilizado quando um sistema for independente da maneira como seus produtos são criados, compostos ou representados
b) o padrão template method (Factory Method) é utilizado com o intuito de definir uma interface que tem o objetivo de criar um objeto, embora deixe as subclasses decidirem que classe deve ser instanciada
c) visitor, decorator (ESTRUTURAL) e builder (CRIACIONAL) são exemplos de padrões de projeto comportamentais.
d) prototype (CRIACIONAL), singleton (CRIACIONAL) e bridge são exemplos de padrões de projeto estruturais
e) o padrão observer (Template Method) é do tipo estrutural (COMPORTAMENTAL) e define a estrutura de um algoritmo em uma operação, bem como passos para as subclasses.