No desenvolvimento de software, frequentemente surgem problemas de incompatibilidade de interfaces entre classes, que dificultam a integração e reutilização de código. Para resolver esses problemas de maneira eficaz e promover a reutilização de componentes existentes, padrões de projeto específicos são utilizados. Esses padrões fornecem soluções estruturadas para adaptar e integrar classes com interfaces diferentes, evitando a necessidade de criar soluções improvisadas. Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas: I. O padrão Adapter permite que classes com interfaces incompatíveis colaborem sem a necessidade de modificar diretamente as classes existentes. II. A principal motivação para usar o padrão Adapter é evitar a criação de soluções caseiras e ad-hoc para problemas de incompatibilidade de interface. A respeito dessas asserções, assinale a alternativa correta:
Questão
No desenvolvimento de software, frequentemente surgem problemas de incompatibilidade de interfaces entre classes, que dificultam a integração e reutilização de código. Para resolver esses problemas de maneira eficaz e promover a reutilização de componentes existentes, padrões de projeto específicos são utilizados. Esses padrões fornecem soluções estruturadas para adaptar e integrar classes com interfaces diferentes, evitando a necessidade de criar soluções improvisadas.
Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas:
I. O padrão Adapter permite que classes com interfaces incompatíveis colaborem sem a necessidade de modificar diretamente as classes existentes.
II. A principal motivação para usar o padrão Adapter é evitar a criação de soluções caseiras e ad-hoc para problemas de incompatibilidade de interface.
A respeito dessas asserções, assinale a alternativa correta:
Alternativas
A) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
B) A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
C) As asserções I e II são falsas.
D) As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
E) A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Explicação
Passo a passo (análise das asserções):
-
Asserção I: Verdadeira. O padrão Adapter (Adaptador) tem exatamente o objetivo de permitir a colaboração entre classes com interfaces incompatíveis, criando uma “camada” intermediária que converte a interface de uma classe (adaptee) na interface esperada pelo cliente (target), sem alterar o código das classes existentes.
-
Asserção II: Verdadeira. Uma motivação clássica para aplicar padrões de projeto é evitar soluções improvisadas (ad-hoc) que surgem quando tentamos “remendar” incompatibilidades de interface (por exemplo, com conversões espalhadas pelo código, condicionais repetitivas, duplicação, etc.). O Adapter oferece uma solução estruturada e reutilizável para esse problema.
-
Relação entre II e I: II justifica I. Justamente para evitar soluções caseiras e manter o sistema mais organizado e reutilizável, usa-se o Adapter, que então permite a integração de interfaces incompatíveis sem modificar as classes originais (como diz a I).
Alternativa correta: (D).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.