Por motivo de segurança, deseja-se adicionar registro (log) ...

Próximas questões
Com base no mesmo assunto
Q47414 Arquitetura de Software
Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso?
Alternativas

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

Interator: é um padrõa GoF do tipo comportamental que permite a interação e um modo de acesso a elementos de agregados de objetos, sequencialmente, sem exposição das estruturas internas.

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