Buscar

TC5 - PADRÕES COMPORTAMENTAIS GOF (I)

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE
5a aula
		
	 
	Lupa
	 
	 
	 
		
	
	
	
	
	
	
	 
		1
          Questão
	
	
	Analise as sentenças abaixo.
I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural.
II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar.
III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas).
IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica.
Marque a opção correta.
		
	
	I - III - IV
	
	III - IV
	
	I - II - III
	
	I - II - IV
	 
	II - III - IV
	Respondido em 16/04/2021 15:39:39
	
		
	Gabarito
Comentado
	
	
	 
		2
          Questão
	
	
	O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b) e utiliza-o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos padrões GOF abaixo:
		
	
	State
	
	Builder
	
	Flyweight
	 
	Template Method
	
	Command
	Respondido em 16/04/2021 15:44:36
	
	
	 
		3
          Questão
	
	
	São exemplos de Padrões de Projeto Comportamentais:
		
	
	Mediator, Strategy e Builder
	 
	Interpreter, Chain of Responsibility e Observer
	
	Command, Composite e Memento
	
	State, Flyweight e Decorator
	
	Singleton, Mediator e Strategy
	Respondido em 16/04/2021 15:45:37
	
	
	 
		4
          Questão
	
	
	Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar.
		
	
	Chain of Responsability;
	
	Proxy;
	 
	Interpreter;
	
	Façade;
	
	Template Method;
	Respondido em 16/04/2021 15:46:27
	
	
	 
		5
          Questão
	
	
	Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo?
		
	
	Adapter.
	
	Command.
	
	Nenhuma das anteriores.
	
	State.
	 
	Template Method.
	Respondido em 16/04/2021 15:46:45
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
	
	
	 
		6
          Questão
	
	
	(BACEN ¿ CESGRANRIO 2010) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de vendas de uma empresa. Ele deve considerar que o padrão
		
	
	Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global.
	
	Bridge separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
	
	Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade fina.
	
	Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo independente.
	 
	Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação.
	Respondido em 16/04/2021 15:48:36
	
	
	 
		7
          Questão
	
	
	Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata.
		
	
	Chain of Responsability,
	
	Proxy;
	
	Flyweight
	 
	Template Method
	
	Interpreter;
	Respondido em 16/04/2021 15:49:23
	
		
	Gabarito
Comentado
	
	
	 
		8
          Questão
	
	
	Qual o objetivo do padrão Interpreter? Assinale a opção CORRETA.
		
	 
	Dada uma linguagem, definir uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem;
	
	Permitir que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura;
	
	Fornece uma estrutura fixa, de um algoritmo, esta parte fixa deve estar presente na superclasse, sendo obrigatório uma classeAbstrata que possa conter um método concreto;
	
	Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses;
	
	Preencher certas partes do algoritmo por implementações que irão variar, ou seja, implementar um algoritmo em um método, postergando a definição de alguns passos do algoritmo, para que outras classes possam redefini-los;
	Respondido em 16/04/2021 15:51:08
	
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Template Method.
	
	
	
PADRÕES DE PROJETO DE SOFTWARE
 
5
a
 
aula
 
 
 
 
Lupa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
 
Questão
 
 
 
Analise as sentenças abaixo.
 
 
I 
-
 
A estrutura do padrão interpreter
 
sugere que a modelagem do problema seja realizada através 
de uma gramática procedural.
 
 
II 
-
 
O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois 
quando se tem muitas gramáticas, são difíceis de manter e administrar.
 
 
III
 
-
 
No padrão de projeto Template Method as partes que podem variar, conforme a situação, 
contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas).
 
 
IV 
-
 
O padrão de projeto Template Method sugere a implementação de um algoritmo
 
fixo em uma 
superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua 
estrutura lógica.
 
 
Marque a opção correta.
 
 
 
 
I 
-
 
III 
-
 
IV
 
 
III 
-
 
IV
 
 
I 
-
 
II 
-
 
III
 
 
I 
-
 
II 
-
 
IV
 
 
 
II 
-
 
III 
-
 
IV
 
Respondido em 
16/04/2021 15:39:39
 
 
 
Gabarito
 
Comentado
 
 
 
 
 
 
 
2
 
 
Questão
 
 
 
O método Arrays.sort (java.util
) recebe como parâmetro um objeto do tipo Comparator que 
implementa um método compare(a, b) e utiliza
-
o para definir as regras de ordenação, assim 
evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do 
algoritmo de ordena
ção, no qual os outros passos permanecem invariantes. Essa situação 
exemplifica qual dos padrões GOF abaixo:
 
 
 
 
State
 
 
Builder
 
 
Flyweight
 
 
 
Template Method
 
 
Command
 
Respondido em 16/04/2021 15:44:36
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
5
a
 aula 
 
 
Lupa 
 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Analise as sentenças abaixo. 
 
I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através 
de uma gramática procedural. 
 
II - Opadrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois 
quando se tem muitas gramáticas, são difíceis de manter e administrar. 
 
III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, 
contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). 
 
IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma 
superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua 
estrutura lógica. 
 
Marque a opção correta. 
 
 
 
I - III - IV 
 
III - IV 
 
I - II - III 
 
I - II - IV 
 
II - III - IV 
Respondido em 16/04/2021 15:39:39 
 
 
Gabarito 
Comentado 
 
 
 
 
 
2 
 Questão 
 
 
O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que 
implementa um método compare(a, b) e utiliza-o para definir as regras de ordenação, assim 
evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do 
algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação 
exemplifica qual dos padrões GOF abaixo: 
 
 
 
State 
 
Builder 
 
Flyweight 
 
Template Method 
 
Command 
Respondido em 16/04/2021 15:44:36

Continue navegando