Segundo a gangue dos quatro (Gof, do inglês Gang of Four), o...

Próximas questões
Com base no mesmo assunto
Q4282205 Arquitetura de Software
Segundo a gangue dos quatro (Gof, do inglês Gang of Four), os padrões de projeto variam na sua granularidade e no seu nível de abstração. Como existem muitos padrões de projeto, necessitamos de uma maneira de organizá-los. O primeiro critério, chamado finalidade, reflete o que um padrão faz. O segundo critério, chamado escopo, especifica se o padrão se aplica primariamente a classes ou a objetos.
Relacione os padrões de projeto do Gof a seguir apresentados com seus respectivos escopos. 

1.Classe  2.Objeto 

() Abstract Factory () Factory Method () Template Method () Strategy () Decorator 

Assinale a alternativa que indica a sequência correta, na ordem apresentada, de cima para baixo:  
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A

Fundamento decisivo: A tabela 1.1 do GoF classifica os padrões pelo escopo; aplicada à legenda do enunciado (1 = classe e 2 = objeto), conduz à alternativa A.

Tema central: Escopo dos padrões GoF
Análise das alternativas
A
Certa
A alternativa A respeita integralmente a classificação de escopo da tabela 1.1 do GoF. O critério é o foco das relações: no escopo classe, relações entre classes e subclasses estabelecidas por herança; no escopo objeto, relações entre objetos. É por esse critério, e não pela finalidade do padrão, que os cinco padrões recebem os escopos indicados.
B
Errada
Erra as posições 1, 2 e 5: Abstract Factory é de objeto (2), não de classe; Factory Method é de classe (1), não de objeto; Decorator é de objeto (2), não de classe.
C
Errada
Erra as posições 3 e 5: Template Method tem escopo de classe (1), mas aparece como objeto; Decorator tem escopo de objeto (2), mas aparece como classe.
D
Errada
Inverte os dois primeiros escopos: Abstract Factory é de objeto (2) e Factory Method é de classe (1), não o contrário.
E
Errada
Inverte os escopos das posições 3 e 4: Template Method é de classe (1) e Strategy é de objeto (2), não o contrário.
Pegadinha da questão
Confundir finalidade com escopo: Abstract Factory e Factory Method são ambos criacionais, mas o primeiro tem escopo de objeto e o segundo, de classe. Outra troca explorada é atribuir a Template Method o escopo de objeto e a Strategy o de classe.
Dica para questões semelhantes
  • Identifique o eixo solicitado: finalidade indica o que o padrão faz; escopo indica se ele se aplica primariamente a classes ou a objetos.
  • Considere o foco das relações, não a simples presença de herança: usar herança não basta para classificar um padrão como de escopo classe.
  • Não deduza escopos iguais de finalidades iguais: Abstract Factory e Factory Method são criacionais, mas têm escopos distintos.
  • Após identificar os escopos, converta-os pela legenda e confira cada posição na ordem solicitada.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

1. Padrões com Escopo de Classe (4 padrões)

Factory Method (Criacional): Utiliza herança para permitir que as subclasses decidam qual classe concreta instanciar

Adapter (de Classe) (Estrutural): Adapta a interface de uma classe utilizando herança múltipla (ou herança direta da classe adaptada e implementação da interface alvo)

Interpreter (Comportamental): Define uma representação para a gramática de uma linguagem juntamente com um interpretador baseado em hierarquia de classes

Template Method (Comportamental): Define o esqueleto de um algoritmo na superclasse e posterga a implementação de passos específicos para as subclasses via herança

2. Padrões com Escopo de Objeto (19 padrões)

Todos os demais padrões do catálogo atuam no nível de objetos e utilizam composição

Criacionais: Abstract Factory, Builder, Prototype e Singleton

Estruturais: Adapter (de Objeto), Bridge, Composite, Decorator, Facade, Flyweight e Proxy

Comportamentais: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy e Visitor

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo