Buscar

Simulado PADRÕES DE PROJETO DE SOFTWARE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disc.: PADRÕES DE PROJETO DE SOFTWARE   
	
	
	Acertos: 10,0 de 10,0
	12/10/2021
		1a
          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 II.
	
	somente II.
	
	somente I e III.
	Respondido em 12/10/2021 08:12:58
	
	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.
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	Assinale a afirmativa correta sobre o padrão Builder:
		
	
	Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança.
	
	é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas
	
	A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida
	 
	Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem.
	
	Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais.
	Respondido em 12/10/2021 08:13:33
	
	Explicação:
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor.  Isso é comum em desenvolvedores iniciantes.
	
		3a
          Questão
	Acerto: 1,0  / 1,0
	
	Qual padrão converte uma interface de uma classe em outra interface e permite que classes com interfaces incompatíveis trabalhem em conjunto?
		
	
	Nenhuma das anteriores.
	
	Bridge.
	
	Decorator.
	
	Composite.
	 
	Adapter.
	Respondido em 12/10/2021 08:15:30
	
	Explicação:
O padrão Adpater é bastante utilizado para compatibilizar classes implementadasas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no sistema.
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original.
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções abaixo a unica condição que não é verdadeira
		
	
	Os custos de armazenamento são altos por causa da grande quantidade de objetos.
	
	Uma aplicação utiliza um grande número de objetos.
	
	Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos.
	 
	Uma aplicação utiliza um pequeno número de objetos.
	
	A aplicação não depende da identidade do objeto.
	Respondido em 12/10/2021 08:16:18
	
		
	Gabarito
Comentado
	
	
	
		5a
          Questão
	Acerto: 1,0  / 1,0
	
	Aponte dentre as opções colocadas aquela que corresponde a estrutura do padrão que sugere que a modelagem do problema seja realizada através de uma gramática recursiva..
		
	
	Mediator
	
	Iterator
	
	Template Method;
	 
	Interpreter;
	
	Chain of Responsability,
	Respondido em 12/10/2021 08:16:56
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	(FGV - 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades.
Assinale a alternativa que apresenta apenas padrões de projeto comportamentais.
		
	
	Proxy, Builder e Mediator.
	
	Singleton, Composite e Interpreter.
	
	Composite, Decorato e Proxy.
	 
	Mediator, Interpreter e Command.
	
	Prototype, Abstract Factory e Builder.
	Respondido em 12/10/2021 08:18:30
	
	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.
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	Qual padrão define uma família de algoritmos, encapsula cada uma delas e torna-as intercambiáveis, e permite que o algoritmo varie independentemente dos clientes que o utilizam?
		
	 
	Strategy.
	
	Template Method.
	
	Nenhuma das anteriores.
	
	Decorator.
	
	Visitor.
	Respondido em 12/10/2021 08:19:19
	
	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 padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam.
	
		8a
          Questão
	Acerto: 1,0  / 1,0
	
	Considerando as responsabilidades dos padrões GRASP, analise as afirmativas abaixo, atribuindo V para verdadeira e F para Falsa.
( ) Tratar instanciamento único (Singleton);
( ) Alta coesão das classes;
( ) Baixo acoplamento das classes;
( ) Tratar a estrutura parte-todo (Composite);
( ) Tratar o polimorfismo
Marque a alternativa que apresente a sequencia correta de cima para baixo.
		
	 
	F - F - F - F - F
	 
	V - V - F - F - V
	 
	V -V - V - V - V
	 
	F - V - V - F - V
	 
	F - V - V - V - V
	Respondido em 12/10/2021 08:20:50
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	No padrão GRASP (General Responsability Assigment Software Patterns), a utilização do polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é:
Como tratar alternativas com base no tipo?
Qual afirmativa abaixo se refere a primeira pergunta?
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por exemplo).
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, ela exigirá a modificação dos comandos, tornando difícil alterar e estender o programa.
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não necessariamente aplicações em rede, mas com funcionalidades semelhantes, procurando destacar a importância de se projetar uma solução que permita alterar o servidor sem precisar modificar ou afetar a classe cliente.
Est(á)ão correta(s) a(s) afirmativa(s):
		
	
	Somente os itens II e III;
	
	Somente o item I;
	
	Somente o item II;
	 
	Somente os itens I e II;
	
	Somente o item III;
	Respondido em 12/10/2021 08:21:49
	
	Explicação:
O item III está INCORRETO porque ela se refere a segunda pergunta do padrão Polimorfismo, que é:
Como criar componentes de software interconectáveis?
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão Indireção tem como característica:
		
	
	é 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.
	
	Sugere atribuir um conjunto de responsabilidades altamente coesa 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.
	
	implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito.
	
	É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros.
	 
	O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados.
	Respondido em 12/10/2021 08:22:45
	
	Explicação:
O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados..
E:
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 (Pure Fabrication), Indireção e Variações Protegidas.
O padrão Indireção resolve problemas como: a quem devemos atribuir a responsabilidade, evitando o acoplamento direto entre dois ou mais objetos? e como desacoplar objetos apoiando o Acoplamento Baixo e maximizando o potencial de reuso?
A solução para isso é atribuir a responsabilidade a um objeto intermediário para mediar as mensagens entre outros componentes ou serviços, para que não sejam diretamente acoplados e o objeto intermediário cria uma camada de indireção entre os dois componentes que não mais dependam um do outro: Ambos dependem da indireção.
A Indireção quer que dois objetos, evite-se o acoplamento direto entre eles.
A ideia é diminuir o acoplamento e manter a coesão.

Continue navegando