Durante o desenvolvimento de um sistema, um arquiteto de sof...

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

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?

Alternativas

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