Questões de Concurso sobre Padrões de projeto

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
265 questões encontradas
Questões por página
20
Mais recentes
 

Observe o código apresentado.


public class PadraoProjeto {

private static Padrao objeto = null;

private Padrao() {

}

public static Padrao getObjeto() {

if (objeto == null) {

objeto = new Padrao();

}

return objeto;

}


}


Nesse caso, a classe Java PadraoProjeto representa o uso de qual padrão de projeto?


A

Fábrica.


B

Adaptador.


C

Singleton.


D

Fachada.


E

Proxy.

Uma maneira de parametrizar um sistema pelas classes de objetos que ele cria é utilizar o padrão factory method para criar subclasses da classe que cria objetos, contudo essa solução tem a desvantagem de requerer a criação de uma nova subclasse somente para mudar a classe do produto.


C

Certo


E

Errado

No contexto do design arquitetural e do desenvolvimento de software, o Princípio do Fechamento Comum (The Common Closure Principle) reúne em componentes


A

arquivos no formato Java, a fim de permitir a interação entre sistemas do mesmo tipo.


B

classes que passam por mudanças por motivos semelhantes e simultaneamente.


C

subsistemas escritos em linguagens distintas, a fim de permitir a troca de mensagens via Web Service.


D

escritos em linguagens estruturadas e que possuem propriedades e características comuns.

Paulo implementou um sistema na plataforma Java EE, onde foi adotada a arquitetura MVC, colocando Servlets e JSPs na camada View, entidades JPA na Model e Session Beans na Controller.


Como os Session Beans são os únicos componentes que instanciam gestores de persistência do JPA, Paulo segue o padrão de desenvolvimento:


A

Decorator;


B

Facade;


C

Template Method;


D

Abstract Factory;


E

State.

O design pattern criacional caracterizado por manter um conjunto de objetos que podem ser reutilizados, em geral quando sua criação é custosa, é conhecido como


A

Reusable objects.


B

Abstract factory.


C

Template method.


D

Object pool.


E

Factory method.

Pedro está implementando a aplicação web SergipeJusto. Pedro aplicou em SergipeJusto o padrão de projeto comportamental que soluciona o problema de armazenar e, posteriormente, restaurar o estado interno de um objeto sem violar o seu encapsulamento.

Pedro aplicou em SergipeJusto o padrão de projeto comportamental:


A

State;


B

Iterator;


C

Mediator;


D

Memento;


E

Prototype.

Considere a classe Java abaixo.


public abstract class VendaIngresso {


public void encerraVenda(String espetaculo, String assento) {

double valor = calculaValorIngresso();

confirmaPagamento(valor);

imprimeIngresso();

}


protected void imprimeIngresso() {

// implementação irrelevante para resolver a questão

}


protected void confirmaPagamento(double valor) {

// implementação irrelevante para resolver a questão

}


protected abstract double calculaValorIngresso();

}


Ela contém métodos que implementam o processo de venda de ingressos para espetáculos culturais. Entre eles está o método de encerramento de uma venda, que é composto de três etapas. São elas:


• o cálculo do valor do ingresso;

• a confirmação do pagamento;

• a impressão do ingresso.


As duas últimas etapas independem da natureza de quem está comprando um ingresso, por isso foram implementadas diretamente na classe VendaIngresso. A 1ª etapa, entretanto, não pôde ser implementada nessa classe, pois o valor de um ingresso pode variar de acordo com o tipo de comprador (estudante, idoso, pessoa com deficiência, dentre outros). Por isso, o método calculaValorIngresso é abstrato.


Uma 2ª classe, que implementa a venda de ingressos para estudantes, é mostrada a seguir.


public class VendaIngressoEstudante extends VendaIngresso {

protected double calculaValorIngresso() {

// implementação irrelevante para resolver a questão

}

}


Ela é uma subclasse de VendaIngresso que implementa o cálculo do valor de um ingresso de estudante. Dessa forma, um programa Java que implemente a venda de ingressos para estudantes, baseada nas classes acima, irá conter os seguintes comandos:


VendaIngresso v = new VendaIngressoEstudante();

v.encerraVenda("Máquina Mortífera 20", "L8");


Qual padrão de projeto foi empregado na solução descrita acima?


A

Prototype


B

Adapter


C

Composite


D

Mediator


E

Template Method

O padrão Decorator permite acrescentar funcionalidades a um objeto em tempo de execução, flexibilizando a extensão de classes.


C

Certo


E

Errado

Assinale a opção que apresenta tipos de padrões estruturais (design patterns) de projetos de desenvolvimento de software.


A

bridge, composite, facade


B

abstract factory, builder


C

factory method, prototye, singleton


D

interator, mediator, visitor


E

memento, state, strategy

O padrão de projeto DAO, se popularizou por sua facilidade, e por ser uma instancia especializada do padrão MVC. Assinale a alternativa correta sobre o que é o padrão DAO.


A

Data Accessibility Owner


B

Data Access Object


C

Data Actor Object


D

Data Active Owner

Um determinado design pattern, aplicável em desenvolvimento com JavaScript, consiste em transformar uma requisição em um objeto que carrega toda a informação necessária sobre essa requisição, podendo ser usado para armazenar requisições em uma fila para processamento posterior. Esse design pattern é conhecido como


A

Command.


B

Singleton.


C

Factory.


D

Memento.


E

Template Method.

Considere a seguinte assertiva:

Definir uma dependência um-para-muitos entre objetos, de maneira que, quando um objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente.

Ela se refere a qual padrão de projeto de software?


A

State


B

Observer


C

Mediator


D

Visitor

Um engenheiro de computação que é responsável pela área de desenvolvimento de sistema de uma organização, tem como atribuição estabelecer o padrão de projeto de sistemas. Para esta tarefa, é necessário conhecer os tipos de padrão de projeto.


Marque a opção que apresenta a descrição do padrão construtor.


A

Centraliza a decisão de qual fábrica instanciar.


B

Adapta uma interface de uma classe, para uma que um cliente espera.


C

Centraliza a criação de um objeto de um tipo específico, escolhendo uma entre várias implementações.


D

Separa um objeto complexo de sua representação de modo que possa criar diferentes representações.

Um sistema cliente-servidor precisa tratar de documentos que possuem imagens muito grandes. Essas imagens não são, necessariamente, apresentadas ao usuário sempre que ele carrega um documento, logo, carregar todas as imagens previamente, toda vez que o cliente abre um documento, pode gastar um tempo desnecessário. A melhor estratégia é carregar a imagem apenas quando a visualização é necessária. Ciente desse problema, o desenvolvedor responsável pelo sistema decidiu usar um padrão de projeto que fornece, no cliente, um objeto substituto que controla o acesso ao objeto original.


Qual foi o padrão de projeto utilizado?


A

Decorator


B

Facade


C

Memento


D

Observer


E

Proxy

O padrão Prototype não pode ser usado nos casos em que as classes a instanciar forem especificadas em tempo de execução, como, por exemplo, por carga dinâmica.


C

Certo


E

Errado

O padrão GRASP de Expert é utilizado para atribuir uma responsabilidade à classe que possui a informação necessária para atender essa mesma responsabilidade.


C

Certo


E

Errado

Analise as afirmativas abaixo a respeito de padrões de projeto:


I -A abordagem MVC permite mudar a maneira como uma visão responde às entradas do usuário sem mudar sua apresentação visual; para fazer isso, a MVC encapsula o mecanismo de resposta em um objeto Controlador.

II - O relacionamento View-Controller é um exemplo do padrão de comportamento Strategy, útil quando você quer substituir o algoritmo tanto estática como dinamicamente, quando há muitas variantes do algoritmo, ou quando o algoritmo tem estruturas de dados complexas que você deseja encapsular.

III - Padrões de projeto são elementos de arquitetura maiores que frameworks. Um padrão de projeto típico contém vários frameworks, mas a recíproca não é verdadeira.

IV - Um padrão de projeto deverá apenas ser aplicado quando a flexibilidade que ele oferece é realmente necessária. As seções de Problema e Solução são o suficiente para avaliarmos os custos e benefícios de um padrão.


Estão integralmente CORRETAS apenas as afirmativas:


A

l e III.


B

l e II.


C

I, III e IV.


D

I, II e IV.


E

II, III e IV.

Os padrões de projeto abrangem um amplo espectro de abstração e aplicação; especificamente, o factory method pattern separa a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes implementações do mesmo objeto.


C

Certo


E

Errado

O padrão estrutural Adapter, de modo geral, faz com que uma interface adaptada seja compatível com outra, fornecendo, assim, uma abstração uniforme de diferentes interfaces.


C

Certo


E

Errado

Os três principais padrões de projeto (design patterns) são os criacionais, os estruturais e os comportamentais; os padrões criacionais aumentam a flexibilidade e a reutilização de código porque oferecem diversas alternativas de criação de objetos.


C

Certo


E

Errado

   
Gerar simulado