Durante o desenvolvimento de um sistema, um arquiteto de sof...
Durante o desenvolvimento de um sistema, um arquiteto de software precisou fornecer uma interface unificada para um conjunto de interfaces em um subsistema.
Nestas condições, segundo a classificação do Gang ofFour (GoF), qual padrão de projeto poderia ser utilizado para resolver este problema?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é E - FAÇADE. Vamos entender por quê.
O enunciado da questão refere-se à necessidade de fornecer uma interface unificada para um conjunto de interfaces em um subsistema. Essa descrição é a essência do padrão de projeto Façade. Este padrão é usado precisamente para simplificar a interação com um sistema complexo, oferecendo uma interface simplificada e única que esconde a complexidade subjacente.
Façade é um padrão de projeto de estrutura (estrutural) que permite que sistemas complexos sejam utilizados sem que o usuário precise lidar com todos os detalhes intricados de suas múltiplas interfaces. Ele é particularmente útil em situações onde o sistema é composto por diversas partes interdependentes, e uma interface de alto nível pode ajudar a facilitar o uso dessas partes.
Agora, vamos analisar as outras alternativas e porque são incorretas para esta questão:
A - SINGLETON: Este padrão garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela. Não resolve o problema de fornecer uma interface unificada para um conjunto de interfaces.
B - MEMENTO: Este padrão é utilizado para capturar e restaurar o estado de um objeto sem expor sua implementação interna. Ele não está relacionado a unificar interfaces, mas sim a gerenciamento de estado.
C - ITERATOR: O padrão Iterator é usado para acessar elementos de um objeto agregado sequencialmente sem expor sua representação subjacente. Ele não serve para unificar interfaces, mas sim para percorrer coleções de dados.
D - INTERPRETER: Este padrão é utilizado para definir uma representação gramatical de uma linguagem e um interpretador que usa esta representação para interpretar sentenças na linguagem. Não se aplica ao problema de simplificação de interfaces.
Assim, a escolha correta é a alternativa E - FAÇADE, que resolve o problema apresentado no enunciado, facilitando a interação com um subsistema complexo através de uma interface única e simplificada.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
a) SINGLETON: Garantir que um objeto terá apenas uma única instância, isto é, que uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação - ALTERNATIVA INCORRETA
FONTE: http://www.devmedia.com.br/conheca-os-padroes-de-projeto/957
b) MEMENTO - Intenção: “Sem violar o encapsulamento, capturar e externalizar um estado interno de um objeto, de maneira que o objeto possa ser restaurado para esse estado mais tarde.” - ALTERNATIVA INCORRETA
FONTE: https://brizeno.wordpress.com/category/padroes-de-projeto/memento/
c) ITERATOR: Fornecer um meio de acessar, sequencialmente, os elementos de um objeto agregado sem expor sua representação subjacente” - ALTERNATIVA INCORRETA
FONTE: https://brizeno.wordpress.com/category/padroes-de-projeto/iterator/
d) ITERATOR: Dada uma linguagem, definir uma representação para sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças dessa linguagem - ALTERNATIVA INCORRETA
FONTE: https://brizeno.wordpress.com/category/padroes-de-projeto/interpreter/
e) FAÇADE: O padrão de projeto Facade é um padrão estrutural que fornece uma interface unificada para um conjunto de interfaces em um subsistema. O padrão Facade define uma interface de nível mais elevado que faz com que o subsistema fique mais fácil de ser utilizado.(GoF - Gang of Four) - ALTERNATIVA CORRETA
FONTE: http://www.macoratti.net/13/04/net_facd.htm
SINGLETON - Garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso
MEMENTO - (Recordação) Use quando precisar restaurar um objeto a um dos seus estados prévios
ITERATOR - Para acessar sequencialmente os elementos de um objeto agregado sem expor sua estrutura interna
INTERPRETER - Para construir um interprete para uma linguagem.
FAÇADE - Fornece uma interface unificada para um conjunto de interfaces em um subsistema.
#CursoAdonai
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo