Buscar

Padrões de Projeto de Software com Java Simulado

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 3 páginas

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE COM JAVA 
 
1 - Analise o propósito a seguir: 
''Garantir que uma classe somente tenha uma instância em um processo de execução, 
fornecendo uma forma de acesso a essa única instância e impedindo que outros módulos 
possam ter acesso a seu construtor ''. 
 
Assinale a alternativa com o nome do padrão que possui esse propósito: 
 
 Singleton 
 Prototype 
 Factory Method 
 Builder 
 Abstract Factory 
 
2 - Você precisa implementar um módulo que leia um arquivo RTF (Rich Text Format) e converta 
seu conteúdo em diferentes formatos (ASCII, TeX, HTML etc.). Sabendo que o arquivo é 
composto por diferentes partes (texto, formatação, figuras etc.), qual dos padrões seria mais 
indicado para isolar o conversor das diferentes formas de representação do conteúdo gerado? 
 
 Singleton 
 Abstract Factory 
 Builder 
 Factory Method 
 Prototype 
 
3 - Possibilitar a manipulação de objetos individuais e de agregados de uma estrutura 
hierárquica (árvore) de objetos por meio do mesmo conjunto de operações, sem que o 
módulo cliente precise fazer a distinção entre o tipo do objeto manipulado (individual ou 
agregado). Assinale a alternativa com o nome do padrão que possui esse propósito: 
 
 Proxy 
 Bridge 
 Composite 
 Adapter 
 Flyweight 
 
4 - Você está implementando um conjunto de componentes de interface gráfica com o 
usuário que precisa rodar em diferentes plataformas (ex.: Windows, Linux). Você quer 
poder evoluir a estrutura dos componentes gráficos de forma independente das 
implementações específicas dos componentes para cada plataforma. Portanto, você 
quer poder especializar os componentes gráficos de forma independente das 
plataformas onde esses componentes rodarão. 
Assinale a alternativa com o nome do padrão mais indicado para ser aplicado nesse 
contexto: 
 
 Facade 
 Bridge 
 Decorator 
 Adapter 
 Proxy 
 
5 - Assinale a alternativa que expressa a intenção do padrão de projeto Template 
Method: 
 
 Encapsular uma família de algoritmos em objetos, permitindo que os módulos 
clientes possam utilizar esses algoritmos de forma intercambiável. 
 Implementar a estrutura de um algoritmo genérico em uma superclasse, 
considerando que os passos comuns são implementados na própria superclasse, 
enquanto os passos específicos são implementados nas suas subclasses. 
 Encapsular uma requisição em um objeto, permitindo o registro do histórico de 
requisições disparadas pelos módulos cliente e a criação de filas de requisições. 
 Definir uma relação de dependência entre objetos, de modo a garantir que 
modificações no estado do objeto detentor da informação sejam notificadas 
automaticamente para os objetos inscritos previamente como interessados em 
receber essas notificações. 
 Permite capturar o estado interno de um objeto, permitindo que o seu estado seja 
restaurado posteriormente, sem quebrar o encapsulamento desse objeto. 
 
6 - Você está implementando um sistema e quer guardar o histórico de todas as 
requisições efetuadas pelo usuário via interface gráfica, de forma a poder realizar 
operações, como desfazer (undo) e refazer (redo) requisições. 
Assinale a alternativa com o nome do padrão mais indicado para ser aplicado nesse 
contexto: 
 
 State 
 Chain of Responsibility 
 Command 
 Mediator 
 Strategy 
 
7 - O padrão GoF Mediator reduz uma rede de dependências entre objetos de uma 
topologia N x N para uma topologia 1 x N, introduzindo um objeto central que recebe as 
notificações enviadas pelos objetos mediados e encaminha o processamento para os 
objetos responsáveis. Qual padrão GRASP está diretamente relacionado à estratégia de 
introduzir um objeto para intermediar a interação entre outros objetos? 
 Indireção 
 Criador 
 Polimorfismo 
 Especialista na Informação 
 Coesão Alta 
8 - Uma classe X contém o seguinte conjunto de métodos: 
 Fechar arquivos 
 Fechar conexão com banco de dados 
 Finalizar tarefas em execução em segundo plano 
 Liberar buffers de armazenamento temporário 
 Finalizar operação, que é um método executado na finalização do sistema e que 
chama todos os métodos anteriores. 
 
Assinale a alternativa com o tipo de coesão da classe X: 
 
 Coesão Coincidente 
 Coesão Lógica 
 Coesão Temporal 
 Coesão Sequencial 
 Coesão Funcional 
 
9 - Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, ocorre uma 
divisão natural das camadas, em termos dos projetos internos, ficando a 
camada View sob responsabilidade do projeto com terminador "war". A interface 
padrão, conforme o próprio terminador indica, é um aplicativo Java Web, sendo comum 
a implementação de um padrão de desenvolvimento para centralizar o tratamento das 
requisições, bem como redirecionar para a visualização correta, após efetuar as 
chamadas para a camada Controller. De qual padrão estamos falando, e qual o 
componente deve implementá-lo? 
 
 Padrão de desenvolvimento DAO e componente do tipo JPA 
 Padrão de desenvolvimento Facade e componente do tipo EJB 
 Padrão de desenvolvimento Service Locator e componente do tipo JNDI 
 Padrão de desenvolvimento Front Controller e componente do tipo Servlet 
 Padrão de desenvolvimento Flyweight e componente do tipo EJB 
 
10 - Uma mudança essencial no modelo de programação Java, com a evolução do JEE, 
foi o uso de anotações nas diversas tarefas de configuração dos EJBs do aplicativo. Para 
que serve a anotação Local no ambiente de criação de EJBs? 
 
 Definir a interface de acesso local ao pool de EJBs. 
 Definir um Stateful Session Bean. 
 Definir um contexto de persistência local para o Session Bean. 
 Definir a interface de acesso às entidades do JPA. 
 Definir um Stateless Session Bean.

Continue navegando