Buscar

simulados padroes de projetos

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 31 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 31 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 9, do total de 31 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

¿Padrões de Software são soluções reutilizáveis para problemas reincidentes que ocorrem durante o desenvolvimento de softwares¿ Gamma, E. (2009)
Associe as colunas e marque a alternativa correta: 
Model, View, Control
Padrões Estruturais
Padrões Comportamentais
Padrões de Criação
Padrões GOF
(  ) Abstraem o processo de instanciação
(  )  Estão divididos em três famílias 
( ) Pode diminuir potencialmente o desempenho: a cada camada, as representações dos objetos sofrem modificações, e essas modificações levam tempo para serem realizadas
(  ) Tratam das associações entre classes e objetos
(  ) Tratam das interações e divisões de responsabilidades entre as classes ou objetos 
		
	
	
	
	 
	4,5,1,2,3
	
	 
	1,5,2,3,4
	
	
	5,1,3,4,2
	
	
	5,1,3,2,4
	
	
	4,1,5,3,2
	
	
	
		2.
		Qual padrão é de arquitetura?
		
	
	
	
	 
	MVC
	
	 
	Gamma
	
	
	GRASP
	
	
	Flower
	
	
	GoF
	
	
	
		3.
		Especificar os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copier este protótipo. Para qual padrão de projeto a afirmação se relaciona?
		
	
	
	
	
	Observer
	
	 
	Nra
	
	 
	Adapter
	
	
	Abstract Factory
	
	
	Memento
	
	
	
		4.
		Analise as afirmativas abaixo:
   I.       A ideia principal que é atribuída no conceito de Padrões de Projeto de Software é a "reutilização de ideias (soluções consolidadas)... Não necessariamente de códigos...".
   II.      A utilização padrões de projeto de software em um projeto de desenvolvimento de programas implica na reutilização de códigos prontos feitos por outros desenvolvedores (da empresa ou externos) com finalidade de agilizar o processo de conclusão do software.
   III.     Um projeto de desenvolvimento de software que segue padrões de projeto não necessita documentar aspectos recorrentes do desenvolvimento do software.
   IV.    O MVC (model-view-controller), GoF (Gang of Four) e GRASP (General Responsibility AssignmentSoftware Patterns) são exemplos de padrões de projeto de software.
E assinale a única opção VERDADEIRA acerca das afirmativas acima.
		
	
	
	
	 
	as afirmações I e IV são verdadeiras.
	
	
	as afirmações I, III e IV são verdadeiras.
	
	
	as afirmações II e III são verdadeiras.
	
	 
	todas as afirmações são falsas.
	
	
	todas as afirmações são verdadeiras.
	
	
	
		5.
		(CESGRANRIO - 2010 - BACEN - Analista do Banco Central) 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 :
		
	
	
	
	
	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.
	
	 
	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.
	
	
	Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo independente.
	
	 
	Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global.
	
	
	Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade fina.
	 Gabarito Comentado
	
	
		6.
		Podemos afirmar que os Padrões Estruturais da família GoF:
		
	
	
	
	
	Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades.
	
	 
	Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua.
	
	 
	Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos processos.
	
	
	Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade.
	
	
	São projetados para organizar, gerenciar e combinar diferentes comportamentos.
	
	
	
		7.
		O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado
		
	
	
	
	
	State
	
	 
	Builder
	
	
	Composite
	
	 
	Flyweight
	
	
	Strategy
	
	
	
		8.
		Um desenvolvedor de sistema computacional programou as seguintes classes abaixo:
CÓDIGO EM JAVA
Classe Geometria:
public abstract class Geometria {
    private Figura objeto;
    public abstract void criaObjeto();
    public Figura getObjeto() {return objeto;}
}
Classe GeoCirculo:
public class GeoCirculo extends Geometria {
    private final double r;
    public GeoCirculo (double r) {this.r = r;}
    @Override
    public void criaObjeto() { this.objeto = new Circulo(r);}        
}
Classe GeoQuadrado:
public class GeoQuadrado extends Geometria {
    private final double l;
    public GeoQuadrado(double l) {this.l = l;}
    @Override
    public void criaObjeto() {this.objeto = new Quadrado(l);}
}
Classe GeoTriangulo:
public class GeoTriangulo extends Geometria {
    private final double a, l;
    public GeoTriangulo(double a, double l) {
        this.a = a;
        this.l = l;
    }
    @Override
    public void criaObjeto() {this.objeto = new Triangulo(a, l);} 
}
Classe Figure:
public abstract class Figura {
   public abstract double area();
}
Classe Circulo:
public class Circulo extends Figura{
    private double raio;
    public Circulo (double raio) {this.raio = raio;}
    @Override
    public double area() {return Math.pow(raio,2)*3.14159;}
    public double getRaio() {return raio;}
    public void setRaio(double raio) {this.raio = raio;}
}
Classe Quadrado:
public class Quadrado extends Figura {
    private double lado;
    public Quadrado(double lado) {this.lado = lado;}
    @Override
    public double area() {return Math.pow(lado, 2);}
    public double getLado() {return lado;}
    public void setLado(double lado) {this.lado = lado;}
}
Classe Quadrado:
public class Triangulo extends Figura {
    private double altura, largura;
    public Triangulo (double altura, double largura) {
        this.altura = altura;
        this.largura = largura;
    }
    @Override
    public double area() {return (altura*largura)/2;}
    public double getAltura() {return altura;}
    public void setAltura(double altura) {this.altura = altura;}
    public double getLargura() {return largura;}
    public void setLargura(double largura) {this.largura = largura;}
}
Analisando o que foi codificado pelo desenvolvedor podemos averiguar que ele utilizou um modelo dos padrões de projeto GoF (Gang of Four) pertencente a categoria dos padrões de criação. Baseado nesse contexto, assinale abaixo a única opção que informa corretamente qual foi o modelo dos padrões GoF de criação empregado no desenvolvimento das classes JAVA apresentada anteriormente:
		
	
	
	
	
	Singleton.
	
	 
	Factory Method (Método de fabricação).
	
	 
	Prototype (Protótipo).
	
	
	Builder (Construtor).
	
	
	Abstract Fatory (Fabrica abstrata).
Questionário 2
	
	Assinale a afirmativa correta sobre o padrão Builder:
	
	
	
	
	 
	é 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 dosprincipais 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.
	
	
	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.
	
	
	
		2.
		(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. 
Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo?
	
	
	
	
	 
	Prototype.
	
	
	Command.
	
	
	Builder.
	
	
	Factory Method.
	
	 
	Abstract Factory.
	
	
	
		3.
		Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto.
	
	
	
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	
		4.
		Segundo Metsker, o padrão de projeto GoF _________________ é aplicado para substituir a geração de instâncias não-inicializadas de uma classe, fornecendo novos objetos a partir de uma classe-exemplo.
	
	
	
	
	 
	MEDIATOR.
	
	
	FACTORY METHOD.
	
	
	SINGLETON.
	
	
	BUILDER.
	
	 
	PROTOTYPE.
	
	
	
		5.
		Consideram as afirmativa abaixo sobre o padrão protype I - Declara um método chamado clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II - , Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em tempo de execução. III Quando as instancias de uma classe apresentam poucas combinações de estados, pode ser mais conveniente definir previamente um conjunto de protótipos e cloná-los, sempre que foi necessário.
	
	
	
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	
		6.
		(CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. 
Que padrão de projeto pode ser utilizado nesse caso?
	
	
	
	
	 
	Bridge.
	
	
	Memento.
	
	
	Iterator.
	
	
	Visitor.
	
	 
	Singleton.
	
	
	
		7.
		O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;
	
	
	
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	
		8.
		A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na linguagem de programação ________ com a utilização da interface Cloneable, utilizada apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por atributo, das instâncias da classe. Assinale a opção que complementa corretamente a lacuna.
	
	
	
	
	 
	JAVA;
	
	
	HTML;
	
	
	ASSENBLY;
	
	
	C ++;
	
	
	Qualquer linguagem orientada a objeto.
Questionário 3
		Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver o problema com a estrutura apresentada.
		
	
	
	
	
	Proxy
	
	
	GOF
	
	
	Singleton
	
	
	Grasp
	
	 
	Composite
	
	
	
		2.
		Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades dinâmicas a objetos.
		
	
	
	
	 
	Composite
	
	
	Façade
	
	 
	Decorator
	
	
	Bridge
	
	
	Adapter
	
	
	
		3.
		Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas 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.
		
	
	
	
	 
	Padrão Adapter
	
	 
	Padrão Decorator
	
	
	Padrão Composite
	
	
	Padrão Decorator
	
	
	Padrão Flyweight
	 Gabarito Comentado
	
	
		4.
		Os Padrões de Projeto (GOF) que se apresentam com o formato de uma Lista Encadeada (estrutura de dados) quando são representados por um Diagrama de Objetos (UML) e se classificam, respectivamente, como Padrão de Projeto Estrutural e Padrão de Projeto Comportamental, são conhecidos como:
		
	
	
	
	
	Decorator e Observer
	
	
	Observer e Chain of Responsibility
	
	 
	Chain of Responsibility e Decorator
	
	 
	Decorator e Chain of Responsibility
	
	
	Observer e Decorator
	
	
	
		5.
		O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de dados) quando é representado por um Diagrama de Objetos (UML) chama-se:
		
	
	
	
	
	TreeView
	
	 
	Composite
	
	
	Bridge
	
	
	Memento
	
	
	Decorator6.
		Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter?
		
	
	
	
	 
	Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação.
	
	
	Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação.
	
	
	Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe.
	
	
	Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes.
	
	 
	Um programador precisa ser avisado quando houver alterações no estado de um objeto.
	
	
	
		7.
		Qual padrão estrutural permite que um objeto utilize serviços de outros objetos com interfaces diferentes por meio de uma interface única:
		
	
	
	
	 
	Flyweight
	
	
	Composite
	
	 
	Adapter
	
	
	Bridge
	
	
	Facade
	
	
	
		8.
		Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de:
		
	
	
	
	 
	protype
	
	
	Bridge
	
	 
	Decorator.
	
	
	Instance
	
	
	Singleton
Questionário 4
		1.
		O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000). 
São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa que NÃO se refere a uma recomendação para uso do padrão Flyweight.
	
	
	
	
	 
	Os custos de armazenamento são altos por causa da grande quantidade de objetos.
	
	
	A aplicação não depende da identidade do objeto.
	
	 
	O cliente não precisar conhecer as regras do negócio.
	
	
	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.
	 Gabarito Comentado
	
	
		2.
		(BNDES - CESGRANRIO 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso do padrão de projeto
	
	
	
	
	
	Observer.
	
	 
	Decorator.
	
	
	Prototype.
	
	
	Flyweight.
	
	 
	Façade.
	
	
	
		3.
		(FCC - 2011) No contexto dos padrões de projeto: 
I. Oferecer uma interface simples para uma coleção de classes. 
II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. 
Correspondem respectivamente a
	
	
	
	
	 
	Façade e Bridge.
	
	
	Composite e Bridge.
	
	
	Bridge e Adapter.
	
	
	Adapter e Façade.
	
	
	Façade e Composite.
	 Gabarito Comentado
	
	
		4.
		A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um conjunto de subsistemas e fornecer uma resposta imediata. 
Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
	
	
	
	
	 
	Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças.
	
	
	Ajudar a melhorar portabilidade dos sistemas.
	
	
	Incentivar acoplamento fraco entre o subsistema e seus clientes.
	
	
	Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
	
	
	Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
	 Gabarito Comentado
	
	
		5.
		As principais aplicabilidades do padrão command de projeto são: 
I) permitir fácil inclusão de novos comandos;
II) permitir tratamento de requisições concorrentes, manter histórico de execução de comandos;
III) suportar operações para desfazer comandos e;
IV) evitar o acoplamento direto entre classes e serviços.
Podemos a firmar com certeza que:
	
	
	
	
	 
	As afirmativas I, II, III e IV estão corretas.
	
	 
	As afirmativas I, II, III estão erradas e IV correta.
	
	
	As afirmativas I, III, IVestão corretas e II errada.
	
	
	As afirmativas I, II, IV estão corretas e a afirmativa III está errada.
	
	
	As afirmativas II, III ,IVestão corretas e a afirmativa I está errada.
	 Gabarito Comentado
	
	
		6.
		considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:
	
	
	
	
	 
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
	
	
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton
	
	
	singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy
	
	
	singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy
	
	
	adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton
	
	
	
		7.
		Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro:
	
	
	
	
	 
	Proxy
	
	 
	Decorator
	
	
	Adapter
	
	
	Flyweight
	
	
	Facade
	
	
	
		8.
		A utilização do padrão estrutural de projeto cula ideia é utilizar um substituto para o objeto real, mantendo a mesma interface do original sempre que for inconveniente, ou indesejável, acessá-lo diretamente é conhecido como:
	
	
	
	
	 
	Façade;
	
	 
	Proxy;
	
	
	Decorator;
	
	
	Composite.
	
	
	Flyweight
Questionário 6
	
	1.
		Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method
	
	
	
	
	
	Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados
	
	
	Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo)
	
	 
	Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses
	
	
	Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe
	
	
	Possibilitamos a comunicação entre interfaces incompatíveis
	
	
	
		2.
		Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em seguida marque a alternativa que corresponde a sequencia numerada correspondente.
	
	
	
	
	
	4 - 1 - 2 - 3
	
	 
	4 - 2 - 1 - 3
	
	
	2 - 3 - 4 - 1
	
	 
	4 - 3 - 1 - 2
	
	
	3 - 4 - 1 - 2
	
	
	
		3.
		São exemplos de Padrões de Projeto Comportamentais:
	
	
	
	
	 
	Interpreter, Chain of Responsibility e Observer
	
	
	Mediator, Strategy e Builder
	
	
	Singleton, Mediator e Strategy
	
	
	State, Flyweight e Decorator
	
	 
	Command, Composite e Memento
	
	
	
		4.
		A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especialpara inserção de novos receptores no final da cadeia existente.
Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability.
	
	
	
	
	
	Remetente e receptor não têm conhecimento explícito um do outro.
	
	
	Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação.
	
	 
	As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes abstratas gerando interconexão entre os objetos.
	
	 
	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;
	
	
	Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos.
	 Gabarito Comentado
	
	
		5.
		A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente. Assim, para montar uma cadeia de objetos é necessário especializá-la em que tipo de classes? Assinale dentre as opções abaixo aquela que está correta.
	
	
	
	
	
	Generalizada;
	
	 
	concretas;
	
	
	alto acoplamento;
	
	
	com método púbico;
	
	
	baixa coesão.
	 Gabarito Comentado
	
	
		6.
		(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir?
	
	
	
	
	
	Interpreter.
	
	 
	Observer.
	
	 
	Template Method.
	
	
	Singleton.
	
	
	Decorator.
	
	
	
		7.
		Entre as vantagens do padrão Interpreter podem-se citar: I - facilidade para mudar e estender a gramática, pois, o padrão utiliza classes para representar as regras gramaticais. I i - Pode-se usar herança para mudar ou estender a gramática, assim como expressões existentes podem ser modificadas incrementalmente e novas expressões podem ser criadas a partir das existentes; Iii - a implementação da gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem implementações similares. Por outro lado, uma das desvantagens é que o padrão Interpreter define, ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar.
	
	
	
	
	 
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	 
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, III estão incorretas
	
	
	
		8.
		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 - II - IV
	
	 
	I - III - IV
	
	 
	II - III - IV
	
	
	I - II - III
	
	
	III - IV
Questionário 7
		O padrão Memento tem como objetivo criar um meio de armazenar informações e um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, com Criar uma classe que permita salvar o estado pretendidoo para recuperar, sempre que for necessário. No entanto, muitas vezes o estado interno de um objeto é inacessível a objetos externos. Assinale dentre as opções abaixo aquela que se constitui em uma das maneiras de guardar este tipo de informação,
	
	
	
	
	 
	Criar uma classe pública dentro da classe que se pretende salvar o estado;
	
	 
	Criar um clone do objeto, com as informações do estado a ser armazenado;
	
	
	Criar uma classe que permita salvar o estado pretendido
	
	
	Definir um padrão auxiliar que permita o acesso a estas classes;
	
	
	Criar uma classe privada para o padrão Proxy dentro da classe que que se pretende salvar o estado;
	
	
	
		2.
		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.
	
	
	
	
	 
	um construtor privado para este fim.
	
	
	Utilizar um outro padrão comportamental que complemente o objetivo.
	
	 
	um construtor público para este fim.
	
	
	Utilizar uma classe associativa para o fim desejado.
	
	
	Uma classe com método publico para este fim;
	 Gabarito Comentado
	
	
		3.
		Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
	
	
	
	
	 
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação.
	
	
	Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta
	
	 
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	
	tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e matrizes.
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas.
	
	
	
		4.
		O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica que não esta correta. permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter histórico de execução de comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços. permitir tratamento de requ
	
	
	
	
	
	Manter histórico de execução de comandos;
	
	 
	Permitir em casos excepcionais o acoplamento direto entre classes e serviços;
	
	 
	permitir fácil inclusão de novos comandos
	
	
	permitir tratamento de requisições concorrentes;
	
	
	Evitar o acoplamento direto entre classes e serviços;
	
	
	
		5.
		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
	
	
	Builder.
	
	
	CommandIterator
	
	
	Mediator
	
	
	
		6.
		(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.
	
	
	
	
	
	Singleton, Composite e Interpreter.
	
	 
	Composite, Decorato e Proxy.
	
	 
	Mediator, Interpreter e Command.
	
	
	Prototype, Abstract Factory e Builder.
	
	
	Proxy, Builder e Mediator.
	
	
	
		7.
		Memento: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). Sobre este padrão de projetos podemos afirma com certeza:
	
	
	
	
	
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
	
	 
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas.
	
	 
	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.
	
	
	Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta
	
	
	
		8.
		(UNEAL - COPEVE 2010) Definir um objeto que encapsula a forma como um conjunto de objetos interage. Promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente. Qual opção abaixo corresponde à descrição anterior?
	
	
	
	
	
	Intenção do padrão de projeto command
	
	 
	Intenção do padrão de projeto strategy
	
	
	Intenção do padrão de projeto proxy
	
	 
	Intenção do padrão de projeto mediator
	
	
	Intenção do padrão de projeto composite
	
Questionário 9
		Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas sem que haja necessidade de alterar sua implementação.
		
	
	
	
	
	State;
	
	 
	Interpreter
	
	
	Strategy;
	
	
	Criador;
	
	 
	Visitor;
	
	
	
		2.
		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 visitor;
	
	 
	padrão bridge;
	
	 
	condicionais grandes;
	
	
	agreagações;
	
	
	Atributos valorados;
	 Gabarito Comentado
	
	
		3.
		(COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. 
Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer?
		
	
	
	
	 
	Composite.
	
	
	Singleton.
	
	
	Dynamic behavior.
	
	 
	State.
	
	
	Mediator.
	 Gabarito Comentado
	
	
		4.
		considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al., 2000). Qual das alternativas é completamente verdadeira?
		
	
	
	
	
	O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;
	
	 
	A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza.
	
	 
	O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação.
	
	
	O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes.
	
	
	O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação
	
	
	
		5.
		O padrão de projeto que deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes, chama-se:
		
	
	
	
	
	Strategy;
	
	 
	Proxy;
	
	 
	State;
	
	
	Interpreter;
	
	
	Visitor ;
	 Gabarito Comentado
	
	
		6.
		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.
		
	
	
	
	
	Strategy
	
	 
	Visitor
	
	
	Observer
	
	
	Memento
	
	
	State
	 Gabarito Comentado
	
	
		7.
		Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto depende do seu estado e ele pode mudar seu comportamento em tempo de execução.
		
	
	
	
	 
	State
	
	 
	Observer
	
	
	Memento
	
	
	Visitor
	
	
	Strategy
	
	
	
		8.
		Identifique dentre as opções abaixo, aquela que representa o padrão de projeto comportamental , cuja ideia principal é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído pelo outro, independente do cliente que o utiliza .
		
	
	
	
	
	Decorator;
	
	 
	Visitor;
	
	 
	Strategy
	
	
	Proxi;
	
	
	State;
Questionário 
	
	
		1.
		Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema: 
I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela depende devem estar presentes; 
II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente. 
III. Facilidade na compreensão nas mudanças das classes no sistema. 
IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe. 
Com base nestas informações assinale a alternativa CORRETA.
	
	
	
	
	
	Somente a III.
	
	 
	I, II, IV
	
	 
	I, III, IV
	
	
	I, II, III
	
	
	II, III, IV
	
	
	
		2.
		Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação.
	
	
	
	
	
	ObservadorCriador
	
	
	Especialista da informação
	
	
	State
	
	 
	Acoplamento fraco
	
	
	
		3.
		Pode-se sucintamente definir o padrão Variation do GRASP como:
	
	
	
	
	
	Criar camadas para melhor organizar a aplicação.
	
	 
	Criar classes que permitam sobrecarga e sobreescrita.
	
	
	Criar classes altamente coesas.
	
	 
	Criar classe que resolva problemas de inconsistência, criando adaptações para saná-las.
	
	
	Criar classes controladoras.
	
	
	
		4.
		qual das afirmativas abaixo não é verdadeira.
	
	
	
	
	
	Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
	
	 
	O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos artefatos.
	
	 
	acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou tem conhecimento de, ou depende de outros elementos.
	
	
	Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a menor possível, desta forma se favorece futuras manutenções.
	
	
	Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da aplicação.
	
	
	
		5.
		
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 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 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.
	
	
	
		6.
		Os 9 padrões definidos pela General Responsability Assignment Software Pattener são?
	
	
	
	
	
	1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Facade.
	
	 
	1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
	
	
	1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
	
	
	1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
	
	 
	1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
Questionário
		Um padrão 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, 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. Dentre os conceitos abaixo, assinale aquele que complementa o objtivo deste padrão.
		
	
	
	
	 
	ele coordena ou controla a recursividade;
	
	
	ele coordena ou controla as classes;
	
	
	ele coordena ou controla as generalizações;
	
	 
	ele coordena ou controla a atividade;
	
	
	ele controla ou coordena os métodos;
	 Gabarito Comentado
	
	
		2.
		São causas comuns de refactoring, exceto:
		
	
	
	
	 
	Dependência em operações específicas
	
	
	Forte acoplamento
	
	
	Criação de objetos especificando diretamente uma classe concreta
	
	
	Dependências de algoritmo
	
	 
	Forte coesão
	
	
	
		3.
		O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem que a melhor técnica de programação POO é:
		
	
	
	
	
	Desenvolver as classes com a menor coesão e menor acoplamento possível.
	
	 
	Desenvolver as classes com a maior coesão e menor acoplamento possível.
	
	 
	Desenvolver as classes com a maior coesão e maior acoplamento possível.
	
	
	Desenvolver as classes sem coesão e com acoplamento.
	
	
	Desenvolver as classes com a menor coesão e maior acoplamento possível.
	
	
	
		4.
		Num determinado setor de uma empresa fictícia existem 5 (cinco) funcionários contratados. Todos os funcionários são contratados com a mesma carga horária de trabalho prevista. Dois dos cinco funcionários produzem o triplo do que produzem os outros colegas de trabalho, pois além de concluir as tarefas diárias de sua própria responsabilidade, também executam as tarefas que não são concluídas pelos outros colegas. Ao final do expediente é possível observar que os dois funcionários que mais trabalham apresentam maior desgaste físico e mental, pois sempre ficam sobrecarregados com responsabilidades extras. Fazendo uma analogia com o cenário descrito acima, responda qual característica de Projeto O.O. explicaria a situação que ocorre quando uma má distribuição de responsabilidades entre 5 classes afeta a colaboração entre os objetos, concentrando responsabilidades demais em somente 2 dessas classes.
		
	
	
	
	 
	Baixa Coesão
	
	 
	Elevado Acoplamento
	
	
	Elevado Polimorfismo
	
	
	Elevada Herança
	
	
	Baixo Encapsulamento
	
	
	
		5.
		O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada de:
		
	
	
	
	
	Comucacional
	
	
	Recursiva.
	
	 
	Em Camada;
	
	
	Paralela;
	
	 
	Funcional;
	
	
	
		6.
		Marque a alternativa que está relacionada com o padrão GRASP utilizado para conectar a camada de interface com o usuário e a camada de negócios da aplicação?
		
	
	
	
	 
	Controlador
	
	 
	Especialista da informação
	
	
	Baixo acoplamento
	
	
	Coesão alta
	
	
	Polimorfismo
	
	
	
		7.
		(CESPE - 2010 - INMETRO) A coesão e o acoplamento são formas de se avaliar se a segmentação de um sistema em módulos ou em componentes foi eficiente. 
Acerca da aplicação desses princípios, assinale a opção correta.
		
	
	
	
	
	A modularização do programa em partes especializadas pode aumentar a qualidade desses componentes, mas pode prejudicar o seu reaproveitamento em outros programas.
	
	 
	Os componentes ou os módulos devem ser fortemente coesos e fracamente acoplados.
	
	 
	Os componentes ou os módulos devem apresentar baixa coesão e um alto grau de acoplamento.
	
	
	O baixo acoplamento pode melhorar a manutebilidade dos sistemas, pois ele está associado à criação de módulos como se fossem caixas-pretas.
	
	
	Um benefício da alta coesão é permitir realizar a manutenção em um módulo sem se preocupar com os detalhes internos dos demais módulos.
	
	
	
		8.
		Marque a alternativaque apresenta apenas padrões GRASP?
		
	
	
	
	
	Controlador, polimorfismo e Memento
	
	
	Coesão alta, controlador, strategy
	
	 
	Observer, visitor, strategy
	
	 
	Coesão alta, controlador e polimorfismo
	
	
	Coesão alta, polimorfismo, visitor
Questionário
		O padrão Variações protegidas tem como característica:
	
	
	
	
	
	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.
	
	 
	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.
	
	 
	É 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 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.
	
	
	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.
	
	
	
		2.
		Dentre as opções abaixo assinale aquela que não se constitui em um benefícios da aplicação do padrão variações protegidas.
	
	
	
	
	 
	as extensões para novas variações são difiíceis de adicionar,
	
	 
	o acoplamento fica mais baixo;
	
	
	novas implementações são introduzidas sem afetar o cliente,
	
	
	as extensões para novas variações são fáceis de adicionar,
	
	
	o impacto ou custo das modificações pode ser diminuído.
	 Gabarito Comentado
	
	
		3.
		O padrão Invenção Pura 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.
	
	 
	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.
	
	
	É 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.
	
	
	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.
	
	
	
		4.
		O padrão de projeto variações protegidas é um princípio básico para fornecer _____________e _____________ flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, Complete as lacunas com a opção correta.
	
	
	
	
	
	flexibilidade, proteção e visibilidade.
	
	 
	proteção e coesão;
	
	 
	flexibilidade e proteção;
	
	
	flexibilidade e acoplamento;
	
	
	proteção e visibilidade;
	
	
	
		5.
		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 integrado;
	
	 
	em um banco de dados homogêneo;
	
	
	em um banco de dados ordenado;
	
	 
	em em um banco de dados relacional.
	
	
	em em um banco de dados hierárquico;
	 Gabarito Comentado
	
	
		6.
		O objetivo do padrão de projeto Indireção é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, com o objetivo de?
	
	
	
	
	 
	impedir que que eles não sejam diretamente acoplados;
	
	 
	impedir que que eles sejam indiretamente acoplados;
	
	
	impedir que que eles não sejam diretamente excluídos;
	
	
	impedir que que eles sejam parcialmente acoplados
	
	
	permitir que que eles sejam diretamente acoplados;
	 Gabarito Comentado
	
	
		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?
	
	
	
	
	
	Controlador
	
	
	Polimorfismo
	
	 
	Invenção Pura
	
	
	Indireção
	
	 
	Variações Protegidas
	
	
	
		8.
		O padrão Indireção tem como característica:
	
	
	
	
	
	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.
	
	 
	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.
	
	
	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.

Continue navegando