Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

🧠 QUESTIONÁRIO DE REVISÃO – PADRÕES DE
PROJETO COM JAVA (ESTÁCIO)
1. PADRÕES GRASP
Questão 1
Qual é a intenção do padrão Especialista na Informação?
A) Padrão que recomenda alocar as operações pelas classes do sistema de acordo com o
conhecimento que cada classe possui, sendo ele dado pelos seus atributos e
relacionamentos.
B) Padrão que recomenda que cada classe seja desenvolvida pelo profissional com o maior
conhecimento no assunto relacionado à classe.
C) Padrão que recomenda a centralização da lógica de negócio em classes controladoras.
D) Padrão que estabelece as diretrizes para a definição dos atributos das classes de um
sistema.
Resposta: A
Comentário: O padrão Especialista na Informação atribui a responsabilidade de executar
uma operação à classe que possui a informação necessária para tal. Isso promove alta
coesão e baixo acoplamento.
Questão 2
Em uma loja virtual, quem deve ser responsável por calcular o valor total de um
pedido, segundo o padrão Especialista na Informação?
A) A classe  Produto , pois ela conhece o preço.
B) A classe  ItemPedido , pois ela conhece a quantidade.
C) A classe  Pedido , pois ela conhece todos os itens.
D) Uma classe  Calculadora  separada.
Resposta: C
Comentário: O  Pedido  conhece todos os itens e, portanto, é o especialista para calcular o
total. Cada item pode calcular seu próprio valor, e o pedido soma esses valores.
Questão 3
Qual é a intenção do padrão Criador?
A) Indicado para situações nas quais é preciso fazer uso racional da memória, evitando a
proliferação de réplicas de pequenos objetos.
B) Propõe uma solução para problemas nos quais é preciso instanciar uma classe de uma
família de produtos conforme configuração externa.
C) Oferece uma heurística para resolver problemas simples de instanciação de objetos,
recomendando que um agregado seja responsável pela criação dos objetos que o
compõem.
D) Estabelece que as classes de um pacote devem ser instanciadas somente por classes de
outros pacotes.
Resposta: C
Comentário: O padrão Criador sugere que a criação de um objeto deve ser feita pela
classe que agrega, contém ou usa intensivamente esse objeto. Exemplo: 
Pedido.adicionarItem()  cria  ItemPedido .
Questão 4
Assinale a alternativa correta sobre o padrão GRASP Coesão Alta:
A) Um módulo com coesão alta é aquele que concentra o código das funções mais
importantes do sistema.
B) Um módulo com coesão baixa é aquele que depende de um pequeno conjunto de
módulos.
C) Um módulo com coesão alta reúne elementos que contribuem para que o módulo
realize o seu propósito específico.
D) Um módulo com coesão baixa é aquele que possui um propósito bem definido.
Resposta: C
Comentário: Coesão alta significa que os elementos de um módulo estão fortemente
relacionados e contribuem para um único propósito bem definido.
Questão 5
Uma classe X contém os seguintes métodos:  fecharArquivos() ,  fecharConexaoBD() , 
finalizarTarefas() ,  liberarBuffers()  e  finalizarOperacao()  que chama todos os
anteriores. Qual é o tipo de coesão da classe X?
A) Coesão Coincidente
B) Coesão Temporal
C) Coesão Lógica
D) Coesão Funcional
Resposta: B
Comentário: Coesão temporal ocorre quando os elementos são agrupados por serem
executados em um mesmo momento, como na finalização do sistema.
Questão 6
Assinale a alternativa que contém tipos de coesão de um módulo em ordem do tipo
mais baixo para o mais alto:
A) Temporal – Lógica – Procedural
B) Lógica – Coincidente – Sequencial
C) Procedural – Sequencial – Comunicação
D) Coincidente – Temporal – Sequencial
Resposta: D
Comentário: A ordem correta (da mais baixa para a mais alta) é: Coincidente, Temporal,
Sequencial.
Questão 7
Qual a principal função do padrão Controlador?
A) O Controlador Fachada deve ser utilizado em sistemas com muitas funcionalidades.
B) O controlador é uma parte da camada de interface com o usuário, responsável por
capturar eventos.
C) O controlador é responsável pelo controle de acesso do usuário ao sistema.
D) O controlador é um elemento de lógica de negócio responsável por coordenar a
produção da resposta aos eventos lógicos gerados por componentes de interface.
Resposta: D
Comentário: O Controlador recebe eventos do sistema (vindos da interface) e coordena a
execução, delegando tarefas para outros objetos. Ele não contém lógica de negócio
propriamente dita, apenas orquestra.
Questão 8
Sobre acoplamento, assinale a alternativa correta:
A) Buscamos produzir módulos com acoplamento alto, isto é, que cumprem um propósito
bem definido.
B) Buscamos produzir módulos com acoplamento baixo, minimizando o grau de
dependência entre eles.
C) Buscamos produzir módulos em que a lógica de negócio fica centralizada em um
número reduzido de classes.
D) Buscamos produzir módulos com acoplamento alto, minimizando dependências de
abstrações.
Resposta: B
Comentário: Acoplamento baixo é desejável para facilitar manutenção e reuso.
Dependências devem ser preferencialmente de abstrações (interfaces).
Questão 9
Um módulo X escreve dados em uma tabela de banco de dados que é lida por um
módulo Y. Se o desenvolvedor de X mudar o esquema da tabela, Y pode ser afetado.
Isso evidencia um acoplamento de que natureza?
A) Acoplamento Global
B) Acoplamento de Estrutura
C) Acoplamento de Dados
D) Acoplamento Externo
Resposta: D
Comentário: Acoplamento externo ocorre quando módulos compartilham recursos
externos, como banco de dados, arquivos ou formatos de dados.
Questão 10
“Este padrão substitui soluções condicionais baseadas em switch-case ou if-then-else
por uma chamada genérica de operação para um objeto que pode assumir diferentes
formas em tempo de execução”. Qual padrão GRASP corresponde a essa descrição?
A) Acoplamento Baixo
B) Polimorfismo
C) Indireção
D) Controlador
Resposta: B
Comentário: O polimorfismo permite que diferentes comportamentos sejam invocados
por meio de uma interface comum, eliminando estruturas condicionais.
Questão 11
Qual padrão GRASP está diretamente relacionado à estratégia de introduzir um objeto
para intermediar a interação entre outros objetos?
A) Indireção
B) Polimorfismo
C) Especialista na Informação
D) Criador
Resposta: A
Comentário: Indireção introduz um intermediário para reduzir acoplamento. É a base de
padrões como Proxy, Adapter e Facade.
Questão 12
Sobre o padrão Variações Protegidas, assinale a alternativa correta:
A) Sugere proteger o sistema de variações concentrando a lógica dessas variações em um
módulo controlador.
B) Sugere identificar pontos do sistema propensos a variações e isolá-los com a criação de
interfaces no seu entorno.
C) Sugere proteger o sistema de variações por meio de parâmetros definidos em uma
classe com acesso global.
D) Sugere proteger as variações de algoritmos sensíveis por meio de criptografia.
Resposta: B
Comentário: O padrão Variações Protegidas visa isolar pontos de variação com interfaces
estáveis, protegendo o sistema de mudanças.
Questão 13
Qual padrão GRASP recomenda criar uma classe  Repository  para acesso a dados?
A) Especialista na Informação
B) Invenção Pura
C) Controlador
D) Indireção
Resposta: B
Comentário:  Repository  é uma classe artificial (não existe no domínio) criada para
manter a coesão e o baixo acoplamento, caracterizando Invenção Pura.
Questão 14
Assinale a alternativa que descreve uma situação em que a utilização do padrão
Especialista na Informação pode comprometer a coesão de um módulo:
A) Quando definimos uma classe que fornece uma interface de alto nível para módulos
clientes.
B) Quando colocamos em uma mesma classe operações de naturezas diferentes como
lógica de negócio e acesso a banco de dados, uma vez que elas utilizam as mesmas
informações da classe.
C) Quando definimos um objeto intermediário para mediar a comunicação entre objetos
remotos.
D) Quando introduzimos uma interface abstrata em substituição a um código com
estruturas condicionais.
Resposta: B
Comentário: Colocar lógica de negócio e persistência na mesma classe viola a coesão alta,
pois a classe passa a ter duasresponsabilidades distintas.
2. PADRÕES GOF DE CRIAÇÃO
Questão 15
Qual é a intenção do padrão Factory Method?
A) Permitir a criação de famílias de objetos relacionados.
B) Permitir que um módulo crie objetos de uma hierarquia de classes chamando uma
operação genérica definida em uma superclasse, deixando a instanciação para as
subclasses.
C) Garantir que exista apenas uma instância de determinada classe.
D) Permitir a instanciação de objetos por meio da clonagem de objetos existentes.
Resposta: B
Comentário: Factory Method define um método para criar objetos, mas as subclasses
decidem qual classe concreta instanciar. Exemplo:  iterator()  em coleções Java.
Questão 16
Os iteradores de coleção em Java obtidos a partir da interface  Collection  são
implementados com qual padrão de projeto?
A) Abstract Factory
B) Factory Method
C) Singleton
D) Prototype
Resposta: B
Comentário: Cada coleção (ArrayList, HashSet) implementa o método  iterator()  que é
um Factory Method, retornando o iterador específico para aquela coleção.
Questão 17
Analise a estratégia: "Definir uma hierarquia de classes responsáveis pela instanciação
de uma hierarquia paralela de classes produtos, em que cada classe concreta é capaz
de instanciar um produto específico de cada tipo definido em uma família de
produtos". Qual padrão define essa estratégia?
A) Abstract Factory
B) Factory Method
C) Singleton
D) Builder
Resposta: A
Comentário: Abstract Factory fornece uma interface para criar famílias de objetos
relacionados. Cada fábrica concreta cria produtos de uma família específica.
Questão 18
Sobre o padrão Abstract Factory, assinale a alternativa correta:
A) Sua implementação requer a definição de uma operação  clone  em cada fábrica
concreta.
B) Sua implementação pode envolver a aplicação do padrão Factory Method.
C) Seu propósito é abstrair o processo de construção de um objeto complexo formado por
vários passos.
D) Uma fábrica pode criar apenas um tipo de produto.
Resposta: B
Comentário: É comum que os métodos de uma Abstract Factory sejam implementados
como Factory Methods.
Questão 19
Em um sistema de vendas online, o padrão Abstract Factory é utilizado para criar
objetos relacionados a diferentes categorias de produtos sem especificar suas classes
concretas. Qual é o propósito do padrão neste contexto?
A) Garantir que apenas uma instância de uma classe seja criada.
B) Permitir a construção de um objeto em múltiplas etapas.
C) Criar uma família de objetos relacionados sem especificar suas classes concretas.
D) Clonar objetos mantendo seu estado original.
Resposta: C
Comentário: Abstract Factory cria famílias de objetos relacionados, como diferentes
categorias de produtos, sem acoplar o cliente às classes concretas.
Questão 20
Qual padrão permite a instanciação de objetos a partir da geração de uma cópia de
um objeto protótipo, sem que o cliente conheça a classe específica?
A) Abstract Factory
B) Factory Method
C) Prototype
D) Builder
Resposta: C
Comentário: Prototype utiliza um método  clone  para criar novos objetos a partir de um
protótipo, evitando subclasses.
Questão 21
Reduzir a necessidade de criar hierarquias paralelas de classes ou subclasses apenas
para instanciar objetos específicos é um dos efeitos obtidos com a aplicação de qual
padrão?
A) Abstract Factory
B) Factory Method
C) Singleton
D) Prototype
Resposta: D
Comentário: Prototype elimina hierarquias de fábricas ao usar clonagem de protótipos.
Questão 22
Analise a estratégia: "Definir um construtor  private  e implementar uma operação
estática que retorna uma instância criada em uma operação com escopo  static  e
armazenada como um atributo  static  dentro da própria classe". Qual padrão define
essa estratégia?
A) Abstract Factory
B) Factory Method
C) Singleton
D) Prototype
Resposta: C
Comentário: Essa é a implementação clássica do Singleton: construtor privado, atributo
estático e método estático  getInstance() .
Questão 23
Você deseja criar um objeto complexo formado por diferentes partes. Para isso,
define uma interface abstrata com operações para criar essas partes, permitindo que
implementações concretas criem diferentes representações. Qual padrão utilizar?
A) Abstract Factory
B) Factory Method
C) Singleton
D) Builder
Resposta: D
Comentário: Builder separa a construção de um objeto complexo de sua representação,
permitindo diferentes representações com o mesmo processo.
Questão 24
Assinale o padrão que utiliza uma fábrica de objetos para gerenciar a instanciação e o
compartilhamento de objetos imutáveis utilizados em larga escala:
A) Proxy
B) Flyweight
C) Facade
D) Singleton
Resposta: B
Comentário: Flyweight compartilha objetos imutáveis para economizar memória, usando
uma fábrica para gerenciar o pool.
3. PADRÕES GOF ESTRUTURAIS
Questão 25
Qual a intenção do padrão Adapter?
A) Permitir a utilização de objetos remotos como se fossem locais.
B) Permitir a utilização de diferentes implementações de um mesmo serviço a partir de
uma interface comum, adaptando interfaces de componentes fornecidos por terceiros.
C) Adicionar funcionalidades a objetos existentes sem usar herança.
D) Oferecer uma interface de alto nível para um subsistema.
Resposta: B
Comentário: Adapter converte a interface de uma classe existente em outra interface
esperada pelo cliente, permitindo a integração de componentes de terceiros.
Questão 26
Em relação ao padrão Adapter, assinale a alternativa correta:
A) O participante Adaptee adapta a interface genérica definida pelo Adapter às operações
do Target.
B) As operações do Adapter possuem a mesma assinatura das operações do Adaptee.
C) O Adapter converte as operações definidas pelo Target nas operações definidas no
Adaptee.
D) O Target representa cada implementação específica do serviço.
Resposta: C
Comentário: O Adapter implementa a interface Target e traduz as chamadas para o
Adaptee.
Questão 27
Qual a principal vantagem do padrão Bridge?
A) Facilita a integração de classes com interfaces incompatíveis.
B) Permite adicionar novas funcionalidades a objetos dinamicamente.
C) Evita a necessidade de criar múltiplas subclasses para cada combinação de abstração e
implementação.
D) Simplifica a interação com subsistemas complexos.
Resposta: C
Comentário: Bridge separa abstração e implementação, evitando a explosão combinatória
de subclasses.
Questão 28
Qual a intenção do padrão Decorator?
A) Permitir a utilização mais racional de memória por meio do compartilhamento de
objetos.
B) Adicionar funcionalidades a uma classe sem utilizar subclasses, por meio de composição
dinâmica e flexível.
C) Fornecer uma interface de alto nível para um subsistema.
D) Representar hierarquias de composição de objetos.
Resposta: B
Comentário: Decorator adiciona responsabilidades a objetos dinamicamente, envolvendo-
os em camadas.
Questão 29
Identifique no código a seguir o padrão utilizado para ler o arquivo texto (código não
mostrado, mas a questão indica).
A) Decorator
B) Proxy
C) Facade
D) Bridge
Resposta: A (conforme gabarito do exercício)
Comentário: Provavelmente o código usa BufferedWriter/Reader, que é um exemplo
clássico de Decorator.
Questão 30
Qual a principal solução oferecida pelo padrão Composite?
A) Converter a interface de uma classe.
B) Permitir que objetos sejam compostos em estruturas de árvore para representar
hierarquias parte-todo, tratando objetos individuais e composições uniformemente.
C) Separar abstração da implementação.
D) Adicionar funcionalidades dinamicamente.
Resposta: B
Comentário: Composite permite tratar objetos simples e compostos de maneira uniforme,
como pastas e arquivos.
Questão 31
Sobre o padrão Facade, assinale a alternativa correta:
A) Com a aplicação do Facade, os módulos clientes não podem utilizar diretamente
elementos do subsistema.
B) Com a aplicação do Facade, os módulos clientes podem utilizar um componente por
meio de uma interface de alto nível.
C) O Facade fornece uma interface para instanciação de objetos complexos.
D) O Facade permiteadicionar funcionalidades de alto nível a componentes existentes.
Resposta: B
Comentário: Facade oferece uma interface simplificada para um subsistema, mas não
impede o acesso direto se necessário.
Questão 32
Fornecer uma interface de alto nível para os módulos clientes acessarem um
subsistema, desacoplando-os da estrutura interna, é o propósito de qual padrão?
A) Facade
B) Composite
C) Proxy
D) Bridge
Resposta: A
Comentário: Exatamente a definição do padrão Facade.
Questão 33
Um colega implementa uma interface que faz diversas chamadas a objetos de lógica
de negócio, copiando e colando código em outro módulo. Qual padrão você
recomendaria para diminuir o acoplamento?
A) Proxy
B) Composite
C) Flyweight
D) Facade
Resposta: D
Comentário: Facade criaria uma interface de alto nível encapsulando a complexidade,
evitando duplicação e acoplamento.
Questão 34
Qual a intenção do padrão Flyweight?
A) Permitir a utilização de objetos remotos de forma transparente.
B) Prevenir a instanciação desnecessária de objetos custosos.
C) Permitir a utilização mais eficiente de memória, compartilhando objetos imutáveis
simples.
D) Oferecer uma interface simplificada para um subsistema.
Resposta: C
Comentário: Flyweight compartilha objetos para economizar memória, separando estado
intrínseco (compartilhável) do extrínseco.
Questão 35
Qual a principal solução oferecida pelo padrão Proxy?
A) Adicionar funcionalidades a objetos dinamicamente.
B) Converter a interface de uma classe.
C) Controlar o acesso a um objeto, permitindo operações como carregamento sob
demanda e controle de acesso.
D) Fornecer uma interface simplificada para um subsistema.
Resposta: C
Comentário: Proxy controla o acesso ao objeto real, podendo ser remoto, virtual ou de
proteção.
4. PADRÕES GOF COMPORTAMENTAIS
Questão 36
Qual a intenção do padrão Chain of Responsibility?
A) Reduzir o acoplamento entre o objeto que envia uma requisição e todos os possíveis
objetos que podem processá-la.
B) Encapsular uma requisição em um objeto.
C) Fornecer um mecanismo para salvar e restaurar o estado de um objeto.
D) Definir uma família de algoritmos intercambiáveis.
Resposta: A
Comentário: Chain of Responsibility cria uma cadeia de objetos que podem tratar a
requisição, desacoplando o remetente dos destinatários.
Questão 37
“Esse padrão encapsula uma requisição em um objeto, desacoplando o requisitante e
o executor, permitindo registrar histórico, reproduzir requisições e implementar
undo/redo”. Qual padrão?
A) Chain of Responsibility
B) Command
C) Mediator
D) Memento
Resposta: B
Comentário: Command encapsula uma solicitação como objeto, permitindo
parametrização, filas e operações de desfazer.
Questão 38
Você está desenvolvendo um sistema e quer guardar o histórico de requisições para
implementar undo/redo. Qual padrão é mais indicado?
A) Chain of Responsibility
B) Strategy
C) Mediator
D) Command
Resposta: D
Comentário: Command é ideal para undo/redo, pois cada comando pode armazenar o
estado necessário para reverter a ação.
Questão 39
Uma classe X possui um ciclo de vida com estados. Para evitar estruturas condicionais
complexas, você separa o processamento de cada estado em classes à parte. X guarda
a referência para o estado corrente e repassa as requisições. Qual padrão?
A) Command
B) State
C) Mediator
D) Strategy
Resposta: B
Comentário: State permite que um objeto altere seu comportamento quando seu estado
interno muda, delegando para objetos de estado.
Questão 40
“Na implementação de um processo complexo, muitos objetos interagem de forma
muitos-para-muitos. Para simplificar, define-se um objeto central que centraliza as
interações”. Essa descrição corresponde a qual padrão?
A) Chain of Responsibility
B) Strategy
C) Mediator
D) Observer
Resposta: C
Comentário: Mediator encapsula a comunicação entre objetos, reduzindo acoplamento.
Questão 41
Sobre o padrão Mediator, assinale a alternativa correta:
A) Faz a mediação da execução de algoritmos paralelos.
B) Pode ser aplicado em conjunto com o padrão Observer.
C) Transforma uma interação 1-N em N-N.
D) Encapsula requisições em objetos.
Resposta: B
Comentário: Mediator frequentemente usa Observer para notificar os colegas.
Questão 42
Sobre o padrão Observer, assinale a alternativa correta:
A) É responsável por observar e promover mudanças de estado.
B) Define uma cadeia de objetos para processar requisições.
C) É frequentemente utilizado em interfaces gráficas para sincronizar visualizações com
uma fonte de dados.
D) Permite acesso sequencial a coleções.
Resposta: C
Comentário: Observer é usado para notificar múltiplos observadores sobre mudanças em
um sujeito, comum em MVC.
Questão 43
Você está desenvolvendo um sistema de cotações da bolsa com visualizações textual e
gráfico que devem estar sincronizadas. Qual padrão aplicar?
A) Strategy
B) State
C) Iterator
D) Observer
Resposta: D
Comentário: Observer mantém a consistência entre a fonte de dados (sujeito) e as
visualizações (observadores).
Questão 44
Assinale a alternativa que expressa a intenção do padrão Memento:
A) Permitir uso racional de memória.
B) Interceptar chamadas a objetos para log.
C) Fornecer uma interface de alto nível.
D) Fornecer um mecanismo para salvar e restaurar o estado de um objeto sem quebrar o
encapsulamento.
Resposta: D
Comentário: Memento captura e externaliza o estado de um objeto para posterior
restauração.
Questão 45
Qual a intenção do padrão Strategy?
A) Fornecer um objeto intermediário com réplica da interface.
B) Encapsular algoritmos em objetos, tornando-os intercambiáveis.
C) Definir uma relação de dependência entre objetos.
D) Adicionar funcionalidades a objetos por composição.
Resposta: B
Comentário: Strategy define uma família de algoritmos, encapsulando cada um e
permitindo que sejam trocados.
Questão 46
Assinale a alternativa que expressa a intenção do padrão Template Method:
A) Encapsular uma família de algoritmos.
B) Definir o esqueleto de um algoritmo em uma superclasse, com passos comuns
implementados nela e passos específicos nas subclasses.
C) Capturar o estado interno de um objeto.
D) Encapsular uma requisição em um objeto.
Resposta: B
Comentário: Template Method define a estrutura de um algoritmo, permitindo que
subclasses redefinam alguns passos.
Questão 47
Na implementação de um padrão, cada objeto de uma estrutura hierárquica define
uma operação  accept  que recebe um visitor. A classe visitor define operações
específicas para cada tipo. Qual padrão?
A) Strategy
B) Template Method
C) Observer
D) Visitor
Resposta: D
Comentário: Visitor permite adicionar novas operações a uma hierarquia sem modificar as
classes, usando o padrão de dupla-dispatch.
Questão 48
Qual padrão permite definir uma representação para a gramática de uma linguagem e
interpretar sentenças nessa linguagem?
A) Interpreter
B) Strategy
C) Command
D) Iterator
Resposta: A
Comentário: Interpreter é usado para linguagens simples, definindo uma representação
para a gramática e um interpretador.
5. TECNOLOGIAS JPA E JEE (MVC, EJB, FRONT CONTROLLER)
Questão 49
O uso de mapeamento objeto-relacional se tornou uma necessidade básica. Os entity
beans do J2EE são baseados em qual padrão de desenvolvimento?
A) Active Record
B) DAO
C) Facade
D) Front Controller
Resposta: A
Comentário: Entity beans operam no padrão Active Record, onde cada operação no objeto
reflete diretamente no banco.
Questão 50
Qual o objetivo principal da Java Persistence API (JPA)?
A) Simplificar o desenvolvimento de interfaces gráficas.
B) Fornecer uma API para serviços web.
C) Padronizar o desenvolvimento de aplicações Java que utilizam ORM.
D) Gerenciar a camada de apresentação.
Resposta: C
Comentário: JPA é uma especificação que padroniza o mapeamento objeto-relacional em
Java.
Questão 51
O resultado de uma consulta JPQL pode ser obtido por meio do método 
getResultList , pertencente a qual classe?
A) EntityManager
B) EntityManagerFactory
C) Query
D) CriteriaBuilder
Resposta: C
Comentário:O método  getResultList()  é da interface  Query .
Questão 52
Para que um programa Java com JPA funcione corretamente, é necessário:
A) O NetBeans possui todas as bibliotecas necessárias.
B) Incluir as bibliotecas externas (JDBC e provedor JPA) no projeto.
C) Não há necessidade de preparar o servidor.
D) Sem inclusão de bibliotecas, o sistema funciona apenas no servidor.
Resposta: B
Comentário: É necessário adicionar as bibliotecas JDBC e o provedor JPA (ex: EclipseLink)
ao projeto.
Questão 53
Qual afirmação sobre Enterprise JavaBeans (EJB) é verdadeira?
A) Fornecem uma arquitetura baseada em componentes para aplicativos distribuídos,
transacionais e escaláveis.
B) Só podem ser usados para aplicativos desktop.
C) Só podem ser implantados em um único servidor.
D) Não suportam transações.
Resposta: A
Comentário: EJBs são componentes server-side que oferecem suporte a transações,
segurança e escalabilidade.
Questão 54
Qual a diferença entre stateless e stateful session beans?
A) Stateless são mantidos pelo contêiner por toda a vida; stateful são criados e destruídos a
cada chamada.
B) Stateless são criados e destruídos a cada chamada; stateful são mantidos pelo contêiner.
C) Ambos são mantidos pelo contêiner.
D) Ambos são criados e destruídos a cada chamada.
Resposta: B
Comentário: Stateless não mantêm estado entre chamadas; stateful mantêm estado e são
associados a um cliente.
Questão 55
Qual componente do Java EE é empregado no processamento de mensagens
assíncronas?
A) Servlet
B) JSP
C) Session Bean
D) Message-Driven Bean (MDB)
Resposta: D
Comentário: MDBs processam mensagens assíncronas de filas ou tópicos JMS.
Questão 56
Na arquitetura MVC, qual camada é responsável por apresentar as informações ao
usuário?
A) Model
B) Controller
C) View
D) Interface
Resposta: C
Comentário: View é a camada de apresentação.
Questão 57
Em uma arquitetura MVC com Java EE, a camada Controller geralmente é
implementada com:
A) JPA
B) EJBs (Session Beans) ou Servlets
C) JSP
D) HTML
Resposta: B
Comentário: A camada Controller contém a lógica de negócio, implementada com EJBs ou,
em alguns casos, Servlets (embora o ideal seja EJBs).
Questão 58
Qual a função da anotação  @Local  em EJBs?
A) Define que o EJB pode ser acessado remotamente.
B) Define que o EJB é acessível apenas localmente (mesmo servidor).
C) Define que o EJB é um Singleton.
D) Define que o EJB é um MDB.
Resposta: B
Comentário:  @Local  indica que a interface é para acesso local, dentro do mesmo
servidor.
Questão 59
Qual a definição do padrão Front Controller na web?
A) Um padrão que centraliza o processamento de todas as requisições em um único ponto
de entrada, geralmente um servlet, que então direciona para os controladores apropriados.
B) Um padrão que define uma interface para criar famílias de objetos.
C) Um padrão que adiciona funcionalidades a objetos dinamicamente.
D) Um padrão que controla o acesso a objetos remotos.
Resposta: A
Comentário: Front Controller centraliza o tratamento de requisições, melhorando a
modularidade e facilitando a manutenção.
Questão 60
No padrão Front Controller implementado com Servlet e Strategy, qual o papel do
padrão Strategy?
A) Definir a página de destino.
B) Encapsular as regras de negócio.
C) Permitir a seleção dinâmica de abordagens para o tratamento das requisições, como
diferentes ações.
D) Gerenciar o pool de conexões.
Resposta: C
Comentário: No exemplo do material, o Strategy é usado para encapsular a lógica de cada
ação (empresa, departamento), permitindo que o Front Controller delegue dinamicamente.
Questão 61
Complete as lacunas do código JPA para inclusão de um objeto:
A) persist
B) merge
C) remove
D) find
Resposta: A
Comentário:  persist  é usado para inserir um novo objeto no banco.
Questão 62
O trecho de código JSP abaixo representa qual camada do MVC?
EntityManager em = ...;
em.getTransaction().begin();
em._______(c);
em.getTransaction().commit();
 
 ${user.name}${user.email}
 
java
jsp
A) Model
B) Controller
C) View
D) Nenhuma
Resposta: C
Comentário: O JSP exibe dados recebidos do controller, sendo a camada de visualização.
Este questionário abrange os principais tópicos da disciplina e reflete o estilo de questões
da Estácio. Estude com calma e boa prova!