Prévia do material em texto
A B 1 Marcar para revisão "Na implementação de um processo complexo, um módulo A chama operações de um módulo B e de um módulo C. B, por sua vez, chama operações de C e de D. O módulo C chama operações de A e de E. O módulo D chama operações dos módulos B e C". Esse cenário ilustra uma interação entre objetos no estilo muitos para muitos. Para simplificar esse processo, define-se um objeto que centraliza todas as interações entre esses objetos, de modo que eles passam a se comunicar apenas com esse elemento central. Dessa forma, o elemento central X passa a receber uma notificação de A, para então chamar operações de B e C. Da mesma maneira, a partir de uma notificação enviada por B, X chama operações de C e de D. Essa descrição corresponde à estrutura de solução de qual padrão? Chain of Responsibility Strategy C D E A B Visitor Template Method Mediator 2 Marcar para revisão 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. Strategy State C D E Iterator Observer Mediator 3 Marcar para revisão Assinale a alternativa que expressa a intenção do padrão de projeto Template Method: A B C Encapsular uma família de algoritmos em objetos, permitindo que os módulos clientes possam utilizar esses algoritmos de forma intercambiável. 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. 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. D E Permite capturar o estado interno de um objeto, permitindo que o seu estado seja restaurado posteriormente, sem quebrar o encapsulamento desse objeto. 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. 4 Marcar para revisão Esse padrão define uma estrutura similar à de um esquema Publisher-Subscriber, pois existe um Publisher detentor de um conjunto de informações e registra um conjunto de objetos interessados em receber notificações de modificação desse conjunto de informações, ou seja, do estado do Publisher. Ao ter o seu estado interno modificado, o Publisher notifica os Subscribers que, por sua vez, executam algum procedimento específico de tratamento dessa modificação. A B C D E A B C Assinale a opção com o padrão correspondente à descrição acima. Observer State Template Method Strategy Visitor 5 Marcar para revisão Um módulo A contém operações como conversão de medidas, formatação de valores monetários, remoção de espaços duplicados em strings e envio/recepção de arquivos FTP. O módulo A possui coesão: Funcional. Procedural. Coincidente. 00 hora : 18 min : 39 seg Ocultar Questão 10 de 10 Respondidas (10) Em branco (0) Finalizar prova 1 2 3 4 5 6 7 8 9 10 SM2 Padrões De Projetos De Software Com… D E A B Temporal. Sequencial. 6 Marcar para revisão Assinale a alternativa que descreve uma situação em que a utilização do padrão Especialista de Informação pode comprometer a coesão de um módulo. Quando definimos uma classe que fornece uma interface de alto nível para módulos clientes utilizarem para disparar operações do negócio. Quando colocamos em uma mesma classe operações de naturezas diferentes como lógica do negócio e acesso a banco de dados, uma vez que eles utilizam as mesmas informações da classe. C D E Quando definimos um objeto intermediário para mediar a comunicação entre objetos remotos. Quando introduzimos uma interface abstrata em substituição a um código centralizado em um módulo com estruturas condicionais do tipo switch-case ou if- then-else. Quando definimos a responsabilidade por criar um objeto para a classe que contém todas as informações necessárias para realizar essa criação. 7 Marcar para revisão Assinale a alternativa CORRETA sobre o padrão GRASP Coesão. A B C D E Um módulo com coesão alta é aquele que concentra o código das funções mais importantes do sistema. Um módulo com coesão baixa é aquele que depende de um pequeno conjunto de módulos. Um módulo com coesão alta é aquele que concentra operações logicamente relacionadas envolvendo diferentes tecnologias ou sistemas externos. Um módulo com coesão baixa é aquele que possui um propósito bem definido. Um módulo com coesão alta reúne elementos que contribuem para que o módulo realize o seu propósito específico. A B C D E 8 Marcar para revisão 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? JSP e Servlet. Servlet e JPA. EJB e Servlet. JPA e EJB. JPA e JSP. 9 Marcar para revisão A arquitetura MVC (Model, View e Controller) é utilizada de forma ampla na A B C D E 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 Model. Controller e Model. View e Controller. Model e View. Model e Controller. 10 Marcar para revisão 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? A B C D E Definir um Stateless Session Bean. Definir um contexto de persistência local para o Session Bean. Definir a interface de acesso às entidades do JPA. Definir um Stateful Session Bean. Definir a interface de acesso local ao pool de EJBs.