Os padrões Facade e Adapter são úteis para fornecer uma cama...
seguem.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C - Certo
A questão aborda os padrões de projeto Facade e Adapter, que são conceitos fundamentais em Design Patterns. Estes padrões são muito úteis em situações onde é necessário lidar com diferentes implementações de navegadores, fornecendo uma camada de abstração que resolve incompatibilidades.
Vamos entender melhor por que a alternativa está correta.
Facade: Este padrão oferece uma interface simplificada para um conjunto de interfaces mais complexas. No contexto de navegadores, o Facade pode ser utilizado para criar uma interface única que funcione de maneira consistente, independentemente do navegador utilizado pelo usuário. Assim, se um navegador possui uma implementação diferente de uma funcionalidade específica, o Facade pode acomodar essas diferenças e fornecer uma interface unificada.
Adapter: Este padrão permite que classes com interfaces incompatíveis trabalhem juntas. No caso dos múltiplos navegadores, o Adapter pode ser usado para adaptar a interface de funcionalidades específicas de um navegador para que elas se comportem da mesma maneira em outro navegador. Por exemplo, se um navegador utiliza um método diferente para realizar uma operação, o Adapter pode traduzir essa chamada para garantir que a operação funcione de forma consistente em todos os navegadores.
Justificativa da Alternativa Correta (Certo): A alternativa está correta porque tanto o padrão Facade quanto o padrão Adapter são aplicáveis para criar uma camada de abstração que resolve as incompatibilidades entre múltiplos navegadores. Isso é essencial para garantir que uma aplicação web funcione de forma consistente, independentemente do ambiente do usuário.
Alternativas Incorretas: Não há alternativas incorretas a serem discutidas, já que o gabarito é fornecido como "C - Certo".
Resumo: Compreender os padrões de projeto Facade e Adapter é crucial para quem desenvolve aplicações que precisam ser compatíveis com múltiplos navegadores. Esses padrões ajudam a encapsular as diferenças e fornecem uma interface consistente para a aplicação, garantindo uma experiência de usuário uniforme.
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
Navegadores são browsers e não sinônimo de usuário.
Cespe desonesto.
Através da utilização do Padrão Facade, é possível centralizar em um único ponto de acesso requisições de diversos clientes, delegando essas requisições aos objetos "endereçados".
Ex: http://paginas.fe.up.pt/~aaguiar/as/gof/hires/Pictures/facad057.gif
Com isso é possível um melhor controle entre as interações de diferentes aplicações, ou camadas por exemplo, ja que vc sempre sabe o ponto de comunicação entre elas.
Já o padrão Adapter, permite a comunicação entre Objetos a princípio incompatíveis, criando um intermediador, que conheça as "interfaces" de ambos. O exemplo clássico é um adaptador de tomadas..
O que a questão sugere é se: em uma situação em que uma aplicação web, acessada por diferentes navegadores, teria que tratar as incompatibilidades e especificidades de cada navegador, teríamos algum benefício em utilizar os padrões Adapter e Facade.
Pra mim o benefício sera claro, ja que teríamos um único ponto de acesso (garantido pelo padrão Facade) onde todas as requisições seriam tratadas (adaptadas pelo padrão Adapter), facilitando assim o controle.
Firefox I.E. Opera
\ | /
\ | /
\ | /
------------------| Facade |----------------
| | Adapter | |
| |
| |
| Aplicação |
|__________________________________ |
@ricardoasimoes, entendeu ou enrolei demais?? :)
Não tem mágica no desenvolvimento de Sw... Quem trabalha no Google, na Oracle, na Microsoft ou aonde quer que seja, enfrenta os mesmos problemas que nós (reles mortais). Eles também tem que se preocupar com questões como: Análise, design, persistência, utilização de padroes para melhorar o entendimento e manutenção do código etc...
Navegadores são softwares como qualquer outro... também tem padrões de projeto sendo utilizados em seu desenvolvimento e manutenção.
No caso da questão, foi apenas um exemplo expondo uma determinada necessidade de design e foi perguntado se os padrões de projeto citados poderiam ajudar nesse caso.
Não vejo problema algum.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo