Com base nessa situação hipotética, julgue o item a seguir, ...
I implementar um padrão de criação que possibilite a separação entre a construção de um objeto complexo e sua representação de modo que esse processo de construção possa criar diferentes representações;
II implementar um padrão que evite vínculo permanente entre uma abstração e sua implementação;
III implementar um padrão que, sem violar o encapsulamento e a captura, externalize o estado interno de um objeto e permita que posteriormente ele seja restaurado a esse estado;
IV implementar um padrão que permita a variação do algoritmo independentemente dos clientes que o utilizam;
V implementar um padrão que forneça uma interface unificada para um conjunto de interfaces em um subsistema;
VI implementar um padrão que especifique os tipos de objetos a serem criados usando uma instância prototípica e crie novos objetos copiando este novo protótipo.
O padrão estrutural bridge resolve corretamente o que se pede em II.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C
Vamos analisar a questão que envolve a aplicação de padrões de projeto. A alternativa correta é a que afirma que o padrão estrutural Bridge resolve corretamente o que se pede em II.
Entendimento da Alternativa Correta:
A alternativa II pede um padrão que evite vínculo permanente entre uma abstração e sua implementação. O padrão de projeto estrutural Bridge é ideal para isso. Ele permite que você separe a abstração de sua implementação de modo que ambos possam variar independentemente. Em outras palavras, o Bridge desacopla a interface de abstração da interface de implementação, permitindo que elas mudem sem afetar uma à outra. Isso é perfeito para cenários onde você quer evitar vínculos permanentes.
Análise das Alternativas Incorretas:
Para entender por que as outras alternativas não se aplicam, vamos analisar os outros itens mencionados na questão:
I - Padrão de Criação:
O item I descreve um padrão que possibilite a separação entre a construção de um objeto complexo e sua representação. Esse é o papel do padrão Builder. O Builder segue exatamente essa premissa, separando a construção de um objeto da sua representação.
III - Externalização do Estado:
O item III fala sobre externalizar o estado interno de um objeto e permitir restaurar esse estado posteriormente. O padrão que realiza isso é o Memento. O Memento captura e externaliza o estado interno de um objeto sem violar o encapsulamento, permitindo a restauração futura.
IV - Variação do Algoritmo:
O item IV aborda a variação do algoritmo de forma independente dos clientes que o utilizam. O padrão que se encaixa aqui é o Strategy. O Strategy permite definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam.
V - Interface Unificada:
O item V menciona fornecer uma interface unificada para um conjunto de interfaces em um subsistema. O padrão que resolve isso é o Facade. O Facade oferece uma interface simplificada para um conjunto de interfaces de um subsistema, facilitando a interação com o sistema complexo.
VI - Criação de Objetos a partir de Protótipos:
O item VI fala sobre especificar tipos de objetos a serem criados usando uma instância prototípica e criar novos objetos copiando o protótipo. Este é o padrão Prototype. O Prototype permite criar novos objetos copiando uma instância prototípica.
Portanto, a alternativa C está correta ao afirmar que o padrão estrutural Bridge resolve corretamente o que se pede no item II, que é evitar o vínculo permanente entre uma abstração e sua implementação.
Espero que essa explicação tenha elucidado as razões pelas quais a alternativa correta é a C e por que os outros itens não se aplicam ao padrão Bridge.
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
Bridge
Intenção:
“Desacoplar uma abstração da sua implementação, de modo que as duas possam variar independentemente.”
Ou seja, o Bridge fornece um nível de abstração maior que o Adapter, pois são separadas as implementações e as abstrações, permitindo que cada uma varie independentemente
FONTE: https://brizeno.wordpress.com/2011/10/13/mao-na-massa-bridge/
2011
Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente é uma das funções do Bridge
certa
A BRIDGE é uma "PONTE LEVADIÇA" .....
ABSTRAÇÃO_____________/ \______________IMPLEMENTAÇÃO
.....que separa a abstração da implementação para que possam variar independentemente.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo