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
 

Na arquitetura e no projeto de software, a aplicação de Padrões de Projeto (Design Patterns) é fundamental para resolver problemas recorrentes com soluções previamente testadas e otimizadas pela engenharia. Contudo, a eficácia dessas soluções depende da escolha do padrão correto para o cenário arquitetural adequado, evitando a inserção de complexidade desnecessária no código. Relacione a Coluna 1 à Coluna 2, associando os padrões de projeto às suas respectivas situações de aplicabilidade prática.


Coluna 1


1. Singleton.

2. Factory Method.

3. Observer.


Coluna 2


( ) Quando a mudança do estado interno de um objeto precisa ser percebida (mas com baixo acoplamento) por outros objetos, gerando um gatilho para, por exemplo, criação de outros objetos, execução de funções ou recuperação de uma instância única de um objeto, entre outros.

( ) Quando for necessário que uma única instância possa ser visível e acessível globalmente, não sendo possível instanciar duas ou mais instâncias distintas da mesma classe.

( ) Quando uma classe quer delegar a criação de objetos para suas subclasses, encapsulando o conhecimento sobre as subclasses criadas em uma única superclasse.


A ordem correta de preenchimento dos parênteses, de cima para baixo, é:


A

3 – 1 – 2.


B

1 – 2 – 3.


C

3 – 2 – 1.


D

2 – 1 – 3.


E

1 – 3 – 2.

Considere os dois diagramas UML a seguir, referentes ao design pattern (padrão de projeto) Composite (composto) e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.


Imagem associada para resolução da questão


O padrão Composite, assim como outros padrões, é baseado fortemente no conceito de (1)__________________, o que pode ser observado em sua estrutura, em que a classe principal do padrão (classe Composite) é uma especialização de uma classe existente e não é a única especialização dessa classe. Além disso, um segundo conceito importante no padrão Composite, assim como em outros padrões, é (2)__________________, o que se observa na uniformidade das assinaturas de métodos invocados no segundo diagrama. Um terceiro conceito relevante nesse padrão, assim como em outros, é (3)__________________, observável no segundo diagrama, quando uma responsabilidade atribuída à instância de Composite – método ‘method1()’ – é repartida com instâncias agregadas da classe Leaf.


A

1. Herança; 2. Polimorfismo; 3. Delegação.


B

1. Especialização; 2. Sobrecarga; 3. Atribuição.


C

1. Derivação; 2. Coerção; 3. Agregação.


D

1. Especialização; 2. Polimorfismo; 3. Composição.


E

1. Derivação; 2. Sobrecarga; 3. Delegação.

Considere o seguinte trecho de código escrito na linguagem Java, versão 8:


Imagem associada para resolução da questão


Assinale a alternativa que apresenta CORRETAMENTE o nome do padrão de projeto que foi implementado na classe Conexao.


A

Builder


B

Singleton


C

Lazy Connection


D

Synchronized Factory

Em um sistema web desenvolvido em Java, qual padrão de projeto (design pattern) é mais adequado para gerenciar diferentes estados de um pedido em um e-commerce?


A

Factory Method


B

State Pattern


C

Singleton


D

Observer


E

Strategy

A aplicação rigorosa de antipadrões conhecidos é uma prática recomendada para acelerar o desenvolvimento em projetos Java EE.


C

Certo


E

Errado

Uma empresa está criando um sistema de composição de interfaces gráficas, onde elementos como janelas, botões e painéis podem conter outros elementos, formando uma estrutura hierárquica. É necessário que todos os elementos, independentemente de serem simples ou compostos, sejam tratados de maneira uniforme pelo cliente.


Neste contexto, o padrão de projeto mais indicado é o


A

Decorator, para adicionar funcionalidades extras a cada elemento de interface.


B

Bridge, para desacoplar a abstração da implementação gráfica.


C

Flyweight, para reduzir o consumo de memória compartilhando dados comuns.


D

Prototype, para clonar rapidamente elementos da interface com suas propriedades.


E

Composite, para tratar objetos individuais e composições de forma uniforme, permitindo operações recursivas sobre a estrutura.

O uso de padrões de projeto (design patterns) em uma arquitetura de software pode contribuir significativamente para a manutenção e escalabilidade do sistema.


C

Certo


E

Errado

Durante a manutenção do sistema de licitações de uma prefeitura, a equipe de TI identificou que diversas partes do código se tornaram difíceis de modificar devido à alta interdependência entre os módulos. Um dos analistas propõe a aplicação de princípios de design que favoreçam a evolução do código e a aplicação do DRY. O problema identificado pode ser resolvido adequadamente refatorando o código para encapsular as funcionalidades comuns em classes abstratas, aplicando o padrão


A

Adapter.


B

Template Method.


C

Command.


D

Facade.


E

Memento.

Os padrões de projeto são classificados por dois critérios: finalidade e escopo. O primeiro critério, chamado finalidade, reflete o que um padrão faz.

Os padrões podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação abstraem o processo de instanciação. Eles ajudam a tornar um sistema independentemente de como seus objetos são criados, compostos e representados.

Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto. Os padrões de criação se tornam importantes à medida que os sistemas evoluem no sentido de depender mais da composição de objetos do que da herança de classes.

Algumas vezes, os padrões de criação competem entre si. Por exemplo, há casos em que tanto Prototype (121) como Abstract Factory (95) podem ser usados proveitosamente.

Em outras ocasiões, eles são complementares: Builder (104) pode usar um dos outros padrões para implementar quais componentes são construídos. Prototype (121) pode usar Singleton (130) na sua implementação.

Dessa forma, é importante identificar as características de cada padrão.

Faça a associação correta entre as colunas, relacionando o tipo de padrão e suas características.


1-Abstract Factory (95).

2-Builder (104).

3-Factory Method (112).

4-Prototype (121).

5-Singleton (130).


A- Fornece uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas.

B- Garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela.

C- Especifica os tipos de objetos a serem criados, usando uma instância prototípica, e cria novos objetos copiando este protótipo.

D- Separa a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.

E- Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. Permite a uma classe postergar (defer) a instanciação às subclasses.


Qual é a associação correta entre números e letras?


A

1-A, 2-E, 3-B, 4-C, 5-D.


B

1-B, 2-E, 3-A, 4-D, 5-C.


C

1-D, 2-B, 3-E, 4-A, 5-C.


D

1-A, 2-D, 3-E, 4-C, 5-B.

Considere um sistema no qual o cliente pode escolher pagar com cartão de crédito, Pix ou boleto. No diagrama de classes proposto, a interface FormaPagamento define o método pagar(valor), implementado por cada classe concreta (CartaoCredito, Pix, Boleto). A classe Pagamento utiliza o método processar(valor) para executar a forma escolhida em tempo de execução.


Imagem associada para resolução da questão


Com base no diagrama e nas características apresentadas, é correto afirmar que o padrão de projeto utilizado, trata-se do


A

State.


B

Template Method.


C

Decorator.


D

Strategy.


E

Command.

Um sistema de gerenciamento de tarefas precisa permitir que os usuários desfaçam ações realizadas, como a exclusão de uma tarefa ou a alteração de sua prioridade. Qual padrão de projeto é mais adequado para implementar essa funcionalidade de "desfazer"?


A

Command.


B

Factory Method.


C

Observer.


D

Singleton.


E

Strategy.

Um bom desenvolvedor de sistemas deve ter conhecimento sobre refatoração, padrões de arquitetura e de projeto, princípios SOLID e outros tópicos importantes sobre programação.


Em relação a padrões de projeto, considere o seguinte trecho de código:


Imagem associada para resolução da questão

Marque a opção que corresponde ao padrão de projeto implementado no código acima.


A

Singleton


B

Factory


C

Observer


D

Flyweight


E

Builder

Em projeto de software, a principal função de um padrão de projeto é:


A

garantir a integridade de banco de dados.


B

fornecer soluções reutilizáveis para problemas recorrentes de projeto.


C

gerenciar a alocação de memória em tempo de execução.


D

estabelecer regras de compilação específicas.

J é um desenvolvedor de uma empresa e foi incumbido de criar um novo sistema de arquivos. Esse sistema seguirá uma estrutura de árvore com pastas que podem conter arquivos ou outras pastas. Além disso, tanto as pastas como os arquivos compartilharão operações como copiar, mover e excluir.


A partir desse contexto, J lembrou que há um padrão de projeto que poderia ajudá-lo nessa tarefa, que é o


A

Adapter


B

Command


C

Composite


D

DAO


E

Singleton

O Tribunal Regional do Trabalho está desenvolvendo um sistema de gestão de documentos judiciais que permite o armazenamento, recuperação e edição de diversos tipos de documentos, como petições, sentenças e relatórios de audiência. O sistema deve permitir que novas funcionalidades sejam adicionadas de forma modular e que alterações nos requisitos de cada tipo de documento não afetem o sistema como um todo. Nessas circunstâncias, a equipe de desenvolvimento deverá aplicar, corretamente, o padrão de projeto mais apropriado, que é o


A

Singleton.


B

Adapter.


C

Factory Method.


D

Composite.


E

Decorat.

M desempenha o papel de líder de arquitetura de software em uma empresa. Percebeu, junto com sua equipe, a necessidade de desenvolver, em uma linguagem orientada a objetos, um esqueleto de um algoritmo, composto por um conjunto de passos na sua superclasse. A definição de alguns desses passos deverá ser postergada para as suas subclasses. Vale destacar que a estrutura do algoritmo, ou seja, a ordem, definida na superclasse, em que os passos serão executados não poderá ser mudada, podendo-se alterar, a partir das subclasses, o que será executado por alguns dos passos.


Nesse caso, o padrão de projeto utilizado por M e sua equipe é o


A

Façade


B

Observer


C

Abstract Factory


D

Factory Method


E

Template Method

Em design patterns, o padrão strategy introduz forte hierarquia de herança entre algoritmos, violando o OCP (open/closed principle) ao exigir modificações no contexto sempre que uma nova estratégia é adicionada.


C

Certo


E

Errado

Um Tribunal Regional do Trabalho está desenvolvendo um sistema de gestão de processos judiciais para otimizar o fluxo de trabalho dos juízes, advogados e servidores. Um dos requisitos críticos é a implementação de um sistema de notificação para diferentes eventos processuais (por exemplo, novos documentos apresentados, audiências agendadas, decisões publicadas). O sistema deve ser flexível, permitindo adicionar novos tipos de notificações sem alterar significativamente o código existente. O padrão de projeto mais adequado para alcançar essa flexibilidade é o


A

Singleton.


B

Observer.


C

Strategy.


D

Factory Method.


E

Decorator.

Em relação a projetos de software, _______________ é uma miniarquitetura reutilizável que serve como base para o desenvolvimento de aplicações.


Assinale a alternativa que preenche corretamente a lacuna do trecho acima.


A

Framework


B

Rapid Application Development (RAD)


C

Microservices


D

Integrated Development Environment (IDE)


E

Design patterns

Durante o desenvolvimento de uma aplicação em Java para gerenciamento de tarefas acadêmicas, uma equipe de engenharia de software discute soluções elegantes e reutilizáveis para problemas recorrentes, como criação controlada de objetos, organização de responsabilidades e flexibilidade do código. Sobre o uso de padrões de projeto, assinale a alternativa correta em relação à aplicação dos principais padrões e às suas características.


A

O padrão Singleton é utilizado para garantir que exista múltiplas instâncias de uma mesma classe, favorecendo concorrência e distribuição.


B

O padrão Observer permite que múltiplos objetos sejam notificados automaticamente quando uma alteração ocorre em um objeto observado.


C

O padrão Factory Method dificulta a especialização de subclasses, tornando impossível estender o comportamento de criação de objetos.


D

O padrão Strategy é contraindicado quando há necessidade de escolher dinamicamente o algoritmo de execução durante o tempo de execução do programa.


E

O padrão Decorator é indicado principalmente para permitir herança múltipla em linguagens que não oferecem suporte nativo a esse recurso.

 
Ir para a página:
OK
 
Gerar simulado