Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercícios PADRÕES DE PROJETO DE SOFTWARE COM JAVA 1. Analise o propósito a seguir: ''Permitir a criação de uma família de objetos relacionados ou dependentes, de forma que o módulo cliente não precise conhecer os objetos específicos das diferentes famílias, lidando apenas com as interfaces genéricas dos produtos dessas famílias''. Assinale a alternativa com o nome do padrão que possui esse propósito: Builder Abstract Factory Prototype Factory Method Singleton Explicação: A resposta certa é: Abstract Factory 2. A classe java.awt.Toolkit é um exemplo da aplicação de que padrão de projeto? Abstract Factory Builder Singleton Prototype Factory Method Explicação: A resposta certa é: Abstract Factory 02685PADRÕES GOF ESTRUTURAIS 3. 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 Adapter Proxy Bridge Decorator Explicação: A resposta certa é: Bridge 4. 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: Bridge Adapter Flyweight Proxy Composite Explicação: A resposta certa é: Composite 02683PADRÕES GOF COMPORTAMENTAIS 5. Você está desenvolvendo um módulo correspondente a uma classe X que possui um ciclo de vida composto por estados e não quer escrever o código dessa classe utilizando estruturas condicionais complexas. Para isso, você separa o processamento de cada parte desse ciclo de vida em uma classe à parte. A classe X apenas guarda a referência para a situação corrente do processamento e repassa as requisições para o objeto correspondente a essa situação corrente. Assinale o padrão a que esse texto se refere: Command State Mediator Memento Chain of Responsibility Explicação: Gabarito: State 6. "Esse padrão encapsula uma requisição em um objeto, desacoplando o requisitante e o objeto executor. Esse encapsulamento permite registrar o histórico de requisições, reproduzir essas requisições em outro ambiente, bem como implementar operações de desfazer ou refazer o processamento associado à requisição". Assinale a alternativa com o nome do padrão que possui esse propósito: Command Mediator Chain of Responsibility Iterator Template Method Explicação: Gabarito: Command 02686PADRÕES GRASP 7. "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". Assinale a alternativa com o nome do padrão GRASP correspondente a esta descrição: Indireção. Controlador. Acoplamento Baixo. Especialista na Informação. Polimorfismo. Explicação: O polimorfismo criar uma interface genérica para a qual podem existir diversas implementações específicas, onde a estrutura condicional é substituída por uma única chamada feita pela interface genérica. 8. "Ao invés de colocarmos o cálculo do frete de um pedido na classe Pedido, optamos por criar uma hierarquia de classes para encapsular os diferentes algoritmos de cálculo de frete que temos no sistema". Assinale a alternativa com o nome do padrão GRASP que recomenda a criação de classes que não representam diretamente elementos concretos encontrados no domínio no negócio, seguindo uma decomposição de responsabilidades por comportamento e não por representação, como a descrita no cálculo do frete. Acoplamento Baixo. Polimorfismo. Indireção. Invenção Pura. Especialista na Informação. Data Resp.: 18/09/2022 18:35:14 Explicação: O padrão Invenção Pura tem como finalidade criar classes artificiais, ou seja, classes que não representam um conceito do domínio do problema. TECNOLOGIAS JPA E JEE 9. Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, as camadas Model e Controller são definidas ao nível do projeto interno com o terminador "ejb", e o NetBeans oferece ferramentas de automatização para a geração dos componentes necessários, com utilização de duas tecnologias específicas. Quais são as tecnologias utilizadas para as duas camadas citadas, respectivamente? JPA e JSP JSP e Servlet Servlet e JPA JPA e EJB EJB e Servlet Explicação: A resposta correta é: JPA e EJB 10. A arquitetura MVC (Model, View e Controller) é utilizada de forma ampla, na criação de sistemas cadastrais, e caracteriza-se pela divisão do sistema em três camadas, com objetivos específicos. Considerando a divisão utilizada pelo MVC, a interface de usuário e o componente DAO estariam, respectivamente, nas camadas: View e Controller Model e Controller Model e View View e Model Controller e Model Explicação: A resposta correta é: View e Model
Compartilhar