Por motivo de segurança, deseja-se adicionar registro (log) ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é E - Singleton.
Vamos entender o porquê:
O enunciado descreve uma situação em que é necessário garantir que haja apenas uma única instância de uma classe de registro (log) e que essa instância seja acessível globalmente pelo sistema. Esse cenário é um clássico caso de uso do padrão de projeto Singleton.
Singleton é um padrão de projeto que restringe a criação de instâncias de uma classe a apenas uma única instância. Além disso, ele fornece um ponto de acesso global a essa instância. Isso é útil em situações onde é necessário controlar algum recurso compartilhado, como no caso do registro de operações (log) descrito na questão.
Agora, vamos analisar as alternativas incorretas e por que elas não se aplicam ao problema descrito:
A - Iterator: O padrão Iterator é utilizado para acessar os elementos de uma coleção de maneira sequencial, sem expor a representação interna da coleção. Ele não tem relação com a criação de uma única instância ou com o fornecimento de um ponto de acesso global.
B - Visitor: O padrão Visitor é usado para separar um algoritmo da estrutura de um objeto. Ele permite que novas operações sejam adicionadas a objetos de uma estrutura sem modificar as classes dos objetos sobre os quais opera. Esse padrão não trata da criação e controle de instâncias únicas.
C - Bridge: O padrão Bridge é utilizado para "desacoplar uma abstração da sua implementação", de modo que ambos possam evoluir independentemente. Ele é mais sobre a separação de responsabilidades e não é relevante para a criação de uma única instância e controle de acesso global.
D - Memento: O padrão Memento captura e externa o estado interno de um objeto, permitindo que o objeto seja restaurado para esse estado posteriormente. Esse padrão é utilizado para conservação do estado de um objeto, não para garantir uma única instância ou um ponto de acesso global.
E - Singleton: Como já mencionado, o padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a essa instância. Portanto, ele se encaixa perfeitamente no problema descrito, justificando a escolha da alternativa correta.
Espero que essa explicação tenha esclarecido suas dúvidas sobre a questão e os conceitos envolvidos. Se precisar de mais alguma ajuda, estarei aqui para apoiar!
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
Visitor: è um padrõa GoF do tipo comportamental que permite que se crie uma nova operação sem que se mude as classes dos elementos sobre os quais ela opera. É uma maniera de separar a algoritmo da estrutura de um objeto.
Bridge: é um padrõa GoF do tipo estrutural e é utilzado quando se deseja que uma interface (abstração) possa variar independente de sua implementação.
Memento: è um padrõa GoF do tipo comportamental que permkite armazenar o estado interno do objeto em um determinado momento para que seja possível retornar a este estado quando necessário.
Singleton: é um padrõa GoF de criação que garante a existencia de apenas uma instância deuma classe, mantendo um ponto global de acesso ao objeto.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo