Um Técnico está participando do desenvolvimento de uma aplic...

Próximas questões
Com base no mesmo assunto
Q583614 Arquitetura de Software
Um Técnico está participando do desenvolvimento de uma aplicação que funcionará simultaneamente em um dispositivo móvel e no ambiente corporativo, necessitando, portanto, de um processo de sincronização entre as informações processadas no dispositivo móvel e na base corporativa. Ambas as aplicações devem se comunicar com um objeto que deve ser único para processar este sincronismo, a fim de evitar a possibilidade de criar dados na base. O Técnico sugeriu a utilização do Singleton, um
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar o gabarito da questão apresentada. A alternativa E é a correta. Vamos entender o porquê e discutir as alternativas incorretas.

Alternativa E: "padrão de projeto que define um método estático que permite aos clientes obterem o objeto único."

O Singleton é um padrão de projeto que garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a essa instância. O método geralmente utilizado para isso é um método estático que verifica se a instância já existe; se não, cria uma nova e, em seguida, retorna essa instância. Esse padrão é amplamente usado em situações onde é necessário um controle rigoroso de recursos, como em sistemas de logging, caches ou em cenários de sincronização de dados, como o descrito no enunciado.

Agora, vamos analisar as alternativas incorretas:

Alternativa A: "aplicativo baseado na arquitetura cliente-servidor."

Essa alternativa confunde o conceito de arquitetura com o de padrão de projeto. A arquitetura cliente-servidor se refere à estrutura onde o cliente faz requisições a um servidor que responde a essas solicitações. Embora possam ter um ponto de comunicação, isso não garante que o objeto de sincronização será único para todas as requisições.

Alternativa B: "web service orientado a serviços, baseado em SOA."

Um web service baseado em SOA (Service-Oriented Architecture) é um conjunto de princípios de design que permite a integração de serviços distintos. Apesar de poder ser utilizado para comunicação e sincronização entre sistemas, ele não garante, por si só, a unicidade da instância de objeto necessária para o controle do sincronismo.

Alternativa C: "padrão de projeto que precisa do Create, que é responsável pelo processo de criação do objeto."

Esse enunciado está incorreto, pois se refere a uma responsabilidade de criação de objetos, que é mais característica de padrões como o Factory, mas não define a unicidade do objeto, que é essencial no padrão Singleton.

Alternativa D: "padrão estrutural que se preocupa com a forma como classes e objetos são compostos para formar estruturas single."

Embora pareça próxima da definição de Singleton, essa alternativa está incorreta porque o Singleton não é um padrão estrutural, mas sim um padrão criacional. Padrões estruturais se concentram na composição de classes e objetos para formar estruturas maiores, como os padrões Adapter ou Composite.

Espero que esta explicação tenha ajudado a entender o conceito do padrão Singleton e a razão pela qual a alternativa E é a correta. Se tiver mais dúvidas ou precisar de mais exemplos, estou à disposição para ajudar!

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

O padrão Singleton permite criar objetos únicos para os quais há apenas uma instância. Este padrão oferece um ponto de acesso global, assim como uma variável global, porém sem as desvantagens das variáveis globais. Para entendermos e usarmos bem o padrão de Projeto Singleton é necessário apenas dominar bem as variáveis e métodos de classe estáticos além dos modificadores de acesso.


O Padrão Singleton tem como definição garantir que uma classe tenha apenas uma instância de si mesma e que forneça um ponto global de acesso a ela. Ou seja, uma classe gerencia a própria instância dela além de evitar que qualquer outra classe crie uma instância dela. Para criar a instancia tem-se que passar pela classe obrigatoriamente, nenhuma outra classe pode instanciar ela. O Padrão Singleton também oferece um ponto global de acesso a sua instância. A própria classe sempre vai oferecer a própria instância dela e caso não tenha ainda uma instância, então ela mesma cria e retorna essa nova instância criada.



Fonte: http://www.devmedia.com.br/padrao-de-projeto-singleton-em-java/26392

e-

SINGLETON SESSION BEANS- Surgido na versão 3.1 da especificação Enterprise Java Beans, este tipo de componente compartilha dados transientes entre todos usuários da aplicação. Um exemplo típico seria um contador para o número de usuários conectados na aplicação. Para que este código contabilize corretamente o número de usuários conectados, deve ser mantida uma única instância deste EJB.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo