Padrões de projeto visam fornecer soluções para problemas r...

Próximas questões
Com base no mesmo assunto
Q619868 Arquitetura de Software

Padrões de projeto visam fornecer soluções para problemas recorrentes do projeto de software. Considerando o catálogo de padrões “Core J2EE patterns”,analise o problema descrito a seguir:

A maioria dos aplicativos possuem alguns requisitos, tais como segurança e logging, que são aplicáveis a todas as requisições da aplicação. Adicionar esse tipo de funcionalidade separadamente para cada serviço da aplicação seria demorado, propenso a erros e difícil de manter.”

Assinale a alternativa que indica o nome do padrão de projeto que pode ser usado para solucionar esse problema.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - Intercepting Filter.

Vamos entender por que essa alternativa está correta e as outras não. O problema descrito fala sobre a necessidade de adicionar funcionalidades como segurança e logging a todas as requisições de uma aplicação de forma centralizada, evitando a repetição de código e facilitando a manutenção.

O padrão Intercepting Filter é usado exatamente para resolver esse tipo de problema. Ele permite que funcionalidades transversais (como autenticação, logging, ou compressão de dados) sejam aplicadas a todas as requisições de uma maneira centralizada e uniforme. Ele faz isso através de filtros que interceptam as requisições antes de atingirem o destino final, processando-as conforme necessário.

Agora, vamos entender por que as outras alternativas estão incorretas:

A - Decorator: Esse padrão é utilizado para adicionar comportamentos a objetos de forma dinâmica, mas é mais adequado para situações onde os comportamentos adicionais são específicos a certos objetos ou classes, não para requisições transversais em uma aplicação inteira.

C - Emmulator: Este não é um padrão de design reconhecido no contexto dos padrões de projeto, especialmente no catálogo Core J2EE. Provavelmente é uma alternativa descontextualizada.

D - Session Façade: Este padrão é utilizado para simplificar a interação entre clientes e serviços remotos, encapsulando a complexidade das interações em uma única fachada. Ele não é adequado para adicionar funcionalidades transversais como segurança ou logging.

E - Application Controller: Este padrão é usado para centralizar a lógica de controle em uma aplicação, facilitando a navegação e o fluxo de lógica. Ele não se destina a interceptar e processar todas as requisições de maneira transversal.

Portanto, a alternativa Intercepting Filter é a mais adequada para resolver o problema descrito, que exige uma solução para aplicar funcionalidades transversais a todas as requisições de uma aplicação de maneira centralizada e eficiente.

Espero que essa explicação tenha clareado suas dúvidas sobre o tema. Se precisar de mais esclarecimentos, estarei aqui para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

 b)InterceptingFilter. => Utilizado para interceptar e manipular uma requisição e uma resposta antes e depois de a requisição ser processada.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo