Buscar

Simulado_PADRÕES DE PROJETO DE SOFTWARE

Prévia do material em texto

Disc.: PADRÕES DE PROJETO DE SOFTWARE   
Acertos: 10,0 de 10,0 04/2021
          Questão Acerto: 1,0  / 1,0 
(FGV - 2008) Considere as seguintes assertivas sobre as vantagens do uso de padrões de 
software (software patterns): 
I. Padrões de projeto proporcionam um vocabulário comum de projeto, facilitando 
comunicação, documentação e aprendizado dos sistemas de software. 
II. Padrões de projeto auxiliam no desenvolvimento de software por meio da reutilização 
do projeto de soluções computacionais já testadas e aprovadas. 
III. Uma biblioteca de padrões pode ajudar a melhorar e padronizar o desenvolvimento 
de software. 
As assertivas corretas são:
 somente II e III.
 I, II e III.
 somente I e III.
 somente I e II.
 somente II.
Explicação: 
A família de padrões GoF, está divida em três grupos principais de padrões: 
Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, 
Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, 
Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template 
Method e Visitor.
Um padrão é uma maneira testada ou documentada de alcançar um objetivo 
qualquer.
Capturam soluções de projeto exaustivamente refinadas com o passar 
do tempo, e são o resultado de um longo processo de projeto, re-projeto, teste e 
reflexão sobre o que torna um sistema mais flexível, reusável e modular.
Sendo assim, todas as alternativas estão corretas.
          Questão Acerto: 1,0  / 1,0 
O padrão GoF Criacional que define um comportamento de clonagem de classes é:
 Abstract Factory
 Singleton
 Prototype
 Facade
 Factory Method
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e 
Singleton.
O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos
objetos ao copiar este protótipo.
          Questão Acerto: 1,0  / 1,0 
Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver 
o problema com a estrutura apresentada.
 Composite
 GOF
 Singleton
 Proxy
 Grasp
          Questão Acerto: 1,0  / 1,0 
Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de 
objetos de granularidade fina?
 Façade.
 Bridge.
 Composite.
 Flyweight.
 Nenhuma das anteriores.
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter,  Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy.
Flyweight é um padrão de projeto de software apropriado quando vários objetos devem ser 
manipulados em memória sendo que muitos deles possuem informações repetidas. Dado que o 
recurso de memória é limitado, é possível segregar a informação repetida em um objeto adicional 
que atenda as características de imutabilidade e comparabilidade (que consiga ser comparado com 
outro objeto para determinar se ambos carregam a mesma informação).
          Questão Acerto: 1,0  / 1,0 
O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale a 
afirmativa INCORRETA
 Representar um encadeamento de objetos receptores para o processamento de uma série de 
solicitações diferentes;
 Fornecer um acoplamento mais fraco por evitar a associação explícita do remetente de uma 
solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
 Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os 
receptores candidatos, eles mantém uma referência única para o sucessor;
 Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a 
trate;
 Evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto 
a oportunidade de tratar a solicitação;
Explicação: 
Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão 
Classe Hanter.
          Questão Acerto: 1,0  / 1,0 
A definição ¿ Captar e externalizar um estado interno de um objeto, de maneira que esse 
estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento 
(Gamma et al., 2000).¿ Refre-se a que padrão de projeto:
 Memento
 Command
 Mediator
 Builder.
 Iterator
Explicação: 
Memento é um padrão comportamental, assim como os seguintes padrões: 
command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar 
informações sobre um objeto, permitindo acessar essas informações tanto 
para salvar o estado de um objeto específico, como para recuperar, sempre
que for necessário.
          Questão Acerto: 1,0  / 1,0 
O padrão de projeto State deve ser implementado não somente quando o comportamento 
de um objeto depende do seu estado, mas também quando a funcionalidade de um objeto 
possui _______________; Complete a lacuna com a opção correta. . 
 padrão bridge;
 condicionais grandes;
 Atributos valorados; 
 padrão visitor;
 agreagações;
          Questão Acerto: 1,0  / 1,0 
Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é 
correto afirmar que:
 
 Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da 
classe Obra. Padrão Especialista: a Classe Engenheiro tem a responsabilidade de 
saber quantas Etapas uma determinada Obra possui.
 Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe 
Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber quantas 
Etapas uma determinada Obra possui.
 Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da 
classe Obra. Padrão Especialista: a Classe Etapa tem a responsabilidade de saber 
quantas Etapas uma determinada Obra possui.
 Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da 
classe Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber 
quantas Etapas uma determinada Obra possui.
 Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe 
Obra. Padrão Especialista: a Classe Etapa tem a responsabilidade de saber quantas
Etapas uma determinada Obra possui.
          Questão Acerto: 1,0  / 1,0 
Considere a figura abaixo
E escolha a opção correta sobre a gravura:
 A Classe instanciada assinalada como :???? Deveria estar incorporada na classe 
emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto.
 A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão
pela natureza de sua criação.
 uma classe de controle exige que sempre se tem há uma classe de apresentação. 
Desta forma não podemos ter mais de uma classe de controle por sistema
 A classe instanciada assinalada como :???? Permite desacoplar as classes e 
métodos de apresentação. E isto aumenta a reutilização das classes de negocio.
 A Classe instanciada assinalada como :???? Não pode ser decomposta em outros 
controladores. Assim temos que trabalhar com o tipo de coesão resultante 
(temporal, funcional...)
Explicação: 
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, 
Controller, ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento 
Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura, Indireção e 
Variações Protegidas.
Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos 
de coesão são mais fáceis de implementar, testar e manter. No entanto, outros tipos 
de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, 
as quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados 
quando existirem alternativas de projeto.
Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividadesque não estão relacionadas e trabalha em demasia, acarretando os seguintes 
problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, 
além de apresentar bastante sensibilidade a modificações.
Um controlador é o primeiro objeto além da camada de interface com o usuário 
que é responsável por receber ou tratar uma mensagem de operação do sistema. De 
forma mais simples, este é um padrão de projeto de delegação, pois, normalmente 
um controlador deve delegar a outros objetos o serviço que precisa ser feito; ele 
coordena ou controla a atividade.
          Questão Acerto: 1,0  / 1,0 
Marque dentre as opções apresentadas aquela que corresponde ao padrão de projeto que 
sugere atribuir um conjunto de responsabilidades altamente coesas a uma classe artificial,
ou de conveniência, que não represente o domínio do problema, algo inventado, para 
apoiar coesão alta, acoplamento baixo e reuso. 
 Invenção pura;
 Criador 
 Proxy;
 Indireção; 
 Variações protegidas;

Continue navegando