Baixe o app para aproveitar ainda mais
Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE COM JAVA 1. Analise o propósito a seguir: ''Implementar a instanciação de objetos utilizando uma estrutura de herança, em que a superclasse define uma operação de criação de um produto genérico, e cada subclasse define a implementação dessa operação, criando um produto específico derivado do produto genérico definido na superclasse''. Assinale a alternativa com o nome do padrão que possui esse propósito: Factory Method Abstract Factory Singleton Builder Prototype 2. Sobre o padrão Factory Method, assinale a alternativa correta: Sua implementação envolve a aplicação do conceito de polimorfismo. Cada classe pode implementar no máximo um factory method. Seu propósito é permitir a criação de uma fábrica por meio da cópia de um objeto existente. Sua implementação visa evitar a criação de variáveis globais. Esse padrão não é utilizado na implementação de frameworks. 3. Conseguir adicionar um novo fornecedor externo de um serviço já utilizado por um sistema, apenas adicionando um módulo que seja capaz de converter uma requisição de uma interface conhecida pelo sistema para a interface proprietária fornecida pelo componente externo é um dos efeitos obtidos com a aplicação de qual padrão? Facade Flyweight Adapter Proxy Bridge 4. Permitir que uma abstração que tenha diferentes representações possa variar de forma independente das suas representações, como, por exemplo, no caso de uma abstração implementada em diferentes plataformas (Windows, Linux, etc.). Assinale a alternativa com o nome do padrão que possui esse propósito: Facade Abstract Factory Bridge Composite Flyweight 5. "Seja um cenário em que existem vários objetos capazes de realizar o processamento associado a uma requisição. Esses objetos são organizados em uma lista encadeada de modo que a requisição vai sendo passada do primeiro objeto receptor da requisição para o próximo da lista, e assim sucessivamente, até que o resultado desejado seja atingido". Assinale a alternativa com o nome do padrão com esse propósito: Iterator Strategy Mediator Command Chain of Responsibility 6. Você está desenvolvendo um sistema para acompanhar as cotações da bolsa de valores. As cotações podem ser acompanhadas na interface com usuário na forma textual (ticker da ação e o seu valor) e na forma de um gráfico de candlesticks, apresentando o histórico das cotações em um período do tempo. As duas formas de visualização devem estar em sincronia com as variações que ocorrem com o valor da cotação das ações. Assinale a alternativa com o nome do padrão que pode ser aplicado para resolver esse problema de sincronização de visualizações de um conjunto de informações com a sua fonte. State Strategy Mediator Iterator Observer 7. Assinale a alternativa que apresenta os níveis de acoplamento entre módulos ordenados do mais baixo para o mais alto: Dados - Controle - Estrutura - Externo - Conteúdo - Global Dados - Estrutura - Controle - Externo - Global - Conteúdo Estrutura - Dados - Controle - Conteúdo - Global - Externo Estrutura - Dados - Controle - Global - Externo - Conteúdo Dados - Estrutura - Externo - Controle - Conteúdo - Global 8. Em um sistema de informação, o desenvolvedor decide colocar em um módulo X todas as operações necessárias para a execução de um caso de uso. Esse módulo não distribui a responsabilidade com outras classes do sistema. Ele apenas utiliza classes de domínio e suas operações get/set para obter ou modificar dados presentes em objetos dessas classes. O resultado é um módulo conhecido como ''God Class'', ou seja, uma classe com muitas operações, com milhares de linhas de código. Qual tipo de coesão está presente no módulo X conforme a descrição acima? Funcional Coincidente Temporal Lógica Procedural 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 Service Locator e componente do tipo JNDI Padrão de desenvolvimento Facade e componente do tipo EJB Padrão de desenvolvimento Flyweight e componente do tipo EJB Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Front Controller e componente do tipo Servlet 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 às entidades do JPA. Definir um Stateful Session Bean. Definir um contexto de persistência local para o Session Bean. Definir um Stateless Session Bean. Definir a interface de acesso local ao pool de EJBs.
Compartilhar