Buscar

Prova 2

Prévia do material em texto

1a
          Questão
	Acerto: 0,0  / 1,0
	
	considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: - Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados
		
	
	Padrões é uma forma obrigatória de programar com objetos
	 
	Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código
	
	Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade
	
	Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação.
	 
	Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos
	Respondido em 26/10/2021 10:56:53
	
	Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. O padrão de criação GoF contempla cinco tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Para Gamma et all, "Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico".
	
		2a
          Questão
	Acerto: 0,0  / 1,0
	
	Qual padrão especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo?
		
	
	Singleton.
	
	Factory Method.
	 
	Nenhuma das anteriores.
	 
	Prototype.
	
	Abstract Factory.
	Respondido em 26/10/2021 10:56:54
	
	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.
	
		3a
          Questão
	Acerto: 0,0  / 1,0
	
	Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas. Marque a alternativa que representa o melhor padrão de projeto para modelar este problema.
		
	
	Façade
	 
	Adapter
	
	Proxy
	 
	Composite
	
	Bridge
	Respondido em 26/10/2021 10:56:56
	
		4a
          Questão
	Acerto: 0,0  / 1,0
	
	Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina?
		
	
	Composite.
	
	Façade.
	 
	Flyweight.
	 
	Bridge.
	
	Nenhuma das anteriores.
	Respondido em 26/10/2021 10:57:04
	
	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).
	
		5a
          Questão
	Acerto: 0,0  / 1,0
	
	Qual padrão usar para definir uma representação de uma linguagem para sua gramática junto a um interpretador que sua representação para interpretar essas sentenças?
		
	 
	Interpreter.
	
	Nenhuma das anteriores.
	
	Iterator.
	
	Strategy.
	 
	Visitor.
	Respondido em 26/10/2021 10:57:09
	
	Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O INTERPRETER tem a função de interpretar, interfacear delegando responsabilidade.
Ao padrões comportamentais tem como premissa se preocupar com algoritimos,
Não só com algoritimos, mas com a relação entre objetos.
Não escreve padrões não só voltados para classe, mas também no que tange a comunicação
entre essas classes.
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	A implementação do padrão Memento é bastante simples. Normalmente é criada uma classe privada chamada Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado. A classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo para tanto ------------------------ Marque dentre as opções abaixo aquela que complementa a lacuna acima de forma correta.
		
	
	Uma classe com método publico para este fim;
	 
	um construtor público para este fim.
	
	Utilizar uma classe associativa para o fim desejado.
	
	um construtor privado para este fim.
	
	Utilizar um outro padrão comportamental que complemente o objetivo.
	Respondido em 26/10/2021 10:57:10
	
		
	Gabarito
Comentado
	
	
	
		7a
          Questão
	Acerto: 0,0  / 1,0
	
	Marque a alternativa que está relacionada com o padrão de projeto que permite definir uma nova operação sem mudar as classes dos elementos sobre os quais opera.
		
	
	State
	 
	Visitor
	
	Memento
	 
	Observer
	
	Strategy
	Respondido em 26/10/2021 10:57:11
	
		
	Gabarito
Comentado
	
	
	
		8a
          Questão
	Acerto: 0,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 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 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 Etapa 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 Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui.
	Respondido em 26/10/2021 10:57:12
	
		9a
          Questão
	Acerto: 0,0  / 1,0
	
	Considere a figura abaixo
E escolha a opção correta sobre a gravura:
		
	 
	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 :???? 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 :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo de coesão resultante (temporal, funcional...)
	Respondido em 26/10/2021 10:57:14
	
	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 atividades que 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.
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	Para o problema:
Que objeto deve ter a responsabilidade, quando não se quer violar a Alta Coesão e o Baixo Acoplamento, mas as soluções oferecidas por Expert não são adequadas?
Que solução devemos aplicar? Assinale a resposta CORRETA.
		
	
	Atribuir a responsabilidade a um objeto intermediário para mediar as mensagens;
	
	Atribuir por meio de Polimorfismo, uma interface consistente;
	
	Atribuir a responsabilidade a um objeto intermediário entre outros componentes ou serviços, para que não sejam diretamente acoplados;
	
	Atribuir um objeto intermediário entre os dois componentes que não mais dependam um do outro;
	 
	Atribuir um conjunto altamente coesivo de responsabilidades a uma classe artificial, que não representa um conceito do domínio do problema;

Continue navegando