Buscar

Teste 10

Prévia do material em texto

1.
		Para o seguinte problema:
Como projetar objetos, subsistemas e sistemas para que as variações ou instabilidades nesses elementos não tenham um impacto indesejável nos outros elementos?
Qual solução devemos aplicar? Assinale a resposta INCORRETA.
	
	
	
	Atribuir responsabilidades para criar uma interface estável em volta desses pontos;
	
	
	Evitar enviar mensagens a objetos muito distantes.
	
	
	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;
	
	
	Utilizar os princípios de encapsulamento, interfaces, polimorfismo, indireção e padrões, além de máquinas virtuais e brokers;
	
	
	Identificar pontos de variação ou instabilidade potenciais;
	
Explicação:
Essa resposta está INCORRETA porque ela deve ser usada para uma solução do padrão Indireção.
	
	
	
	 
		
	
		2.
		Que tipo de Padrão GRASP devemos utilizar para o seguinte problema?
Atribuir responsabilidades apenas para classes do domínio conceitual pode levar à situações de maior acoplamento e menos coesão.
	
	
	
	Coesão Alta.
	
	
	Pure Fabrication (Invenção Pura);
	
	
	Acoplamento fraco;
	
	
	Variações Protegidas;
	
	
	Controlador;
	
Explicação:
Essa resposta está correta para essa solução o Pure Fabrication (Invenção Pura) atribui um conjunto altamente coesivo de responsabilidades (ou seja, aquelas séries de responsabilidades que são coesas vou atribui-las a) a uma classe artificial (ou seja, uma classe que não seja do domínio do negócio) que não representa um conceito do domínio do problema (a ser resolvido).
	
	
	
	 
		
	
		3.
		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.
	
	
	
	Variações protegidas;
	
	
	Criador
	
	
	Invenção pura;
	
	
	Indireção;
	
	
	Proxy;
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		4.
		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 entre outros componentes ou serviços, para que não sejam diretamente acoplados;
	
	
	Atribuir um conjunto altamente coesivo de responsabilidades a uma classe artificial, que não representa um conceito do domínio do problema;
	
	
	Atribuir a responsabilidade a um objeto intermediário para mediar as mensagens;
	
	
	Atribuir um objeto intermediário entre os dois componentes que não mais dependam um do outro;
	
	
	Atribuir por meio de Polimorfismo, uma interface consistente;
	
Explicação:
Essa resposta está correta porque as outras se referem a soluções de Indireção.
	
	
	
	 
		
	
		5.
		O padrão Indireção tem como característica:
	
	
	
	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.
	
	
	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.
	
	
	é 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.
	
	
	É 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.
	
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.
	
	
	
	 
		
	
		6.
		Relacione os conceitos de:
1- Utilizado em projetos de software para projetar uma classe que não pertença ao domínio do problema, mas que ofereça ao projeto coesão alta, acoplamento baixo e reuso.
2- O seu objetivo é evitar o acoplamento direto entre objetos.
3- O seu objetivo é evitar que problemas de variação e instabilidade de objetos afetem outras classes.
	
	
	
	1- Variações Protegidas; 2- Indireção e 3- Invenção Pura.
	
	
	1- Invenção Pura; 2- Indireção e 3- Variações Protegidas.
	
	
	1- Indireção; 2- Invenção Pura e 3- Variações Protegidas.
	
	
	1- Invenção Pura; 2- Variações Protegidas e 3- Indireção.
	
	
	1- Variações Protegidas; 2- Invenção Pura e 3- Indireção.
	
Explicação:
Essa resposta está correta porque o relaciona corretamente os objetivos de modelo de Invenção Pura, Indireção e Variações Protegidas.
	
	
	
	 
		
	
		7.
		Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: como projetar objetos e subsistemas de modo que variações não causem impactos indesejados?
	
	
	
	Invenção Pura
	
	
	Variações Protegidas
	
	
	Controlador
	
	
	Polimorfismo
	
	
	Indireção
	
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.
O padrão Variações Protegidas serve para resolver problemas como projetar objetos, subsistemas e sistemas para que as variações ou instabilidades nesses elementos não tenham um impacto indesejável nos outros elementos.
Este padrão de projeto é um princípio 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. As variações podem ser ainda divididas em evolutivas e corretivas.
	
	
	
	 
		
	
		8.
		Dentre as opções abaixo, assinale aquela que sugere onde uma aplicação do padrão de projeto Invenção Pura deve criar uma nova classe específica para salvar objetos.
	
	
	
	em um banco de dados homogêneo;
	
	
	em em um banco de dados hierárquico;
	
	
	em em um banco de dados relacional.
	
	
	em um banco de dados integrado;
	
	
	em um banco de dados ordenado;

Continue navegando