O padrão de projeto Singleton aumenta a qualidade e a produtividade do desenvolvimento de software orientado a objetos, pois é capaz de solucionar problemas rotineiros que normalmente ocorrem durante as etapas do desenvolvimento de um software. Esse padrão descreve uma implementação na qual uma classe é instanciada uma única vez durante a execução de uma aplicação. Referente aos códigos-fonte que implementam um exemplo da aplicação Singleton e sua execução para a classe Memoria, classifique V para as sentenças verdadeiras e F para as falsas:
(1)public class Memoria{
(2) private static Memoria memoryInstance;
(3) private double quantidadeMemoria;
(4)
(5) private Memoria(){}
(6)
(7)
(8) public static Memoria getInstance() {
(9) if(memoryInstance == null) {
(10) memoryInstance = new Memoria();
(11) }
(12) return memoryInstance;
(13) }
(14)
(15) public double getQuantidadeMemoria() {
(16) return this.quantidadeMemoria;
(17) }
(18)
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
(1) public static void main(String[] args){
(2)
(3) Memoria memoria1 = Memoria.getInstance();
(4) System.out.println(memoria1);
(5) }
( ) Na linha 3, do código-fonte de execução da classe Memoria, o trecho Memoria.getInstance() cria, e retorna, um objeto único da classe Memoria.
( ) A linha 5, do código-fonte de classe Memoria, utiliza um modificador de visibilidade igual ao padrão usado nas implementações de classes Java, e é usado como um recurso de segurança do padrão Sigleton.
( ) A linha 3, do código-fonte de execução da classe Memoria, poderia ser substituído pelo código Memoria memoria1 = new Memoria(), sem qualquer prejuízo para o funcionamento chave do padrão Singleton.
( ) A linha 5, do código-fonte da classe Memoria, utiliza um modificador de visibilidade que foge ao padrão usado nas implementações de classes Java, uma vez que complementa a capacidade do padrão Singleton em permitir a criação de apenas um objeto para as classes as quais os comportamentos necessitam dessa condição.
Assinale a alternativa que apresenta a sequência CORRETA:
A) F - F - V - V.
B) V - F - F - V.
C) F - V - V - F.
D) V - V - F - F.
Soluções para a tarefa
A alternativa que apresenta a sequência correta é a seguinte: B) V - F - F - V.
Segue a classificação:
(V) Na linha 3, do código-fonte de execução da classe Memoria, o trecho Memoria.getInstance() cria, e retorna, um objeto único da classe Memoria.
(F) A linha 5, do código-fonte de classe Memoria, utiliza um modificador de visibilidade igual ao padrão usado nas implementações de classes Java, e é usado como um recurso de segurança do padrão Sigleton.
(F) A linha 3, do código-fonte de execução da classe Memoria, poderia ser substituído pelo código Memoria memoria1 = new Memoria(), sem qualquer prejuízo para o funcionamento chave do padrão Singleton.
(V) A linha 5, do código-fonte da classe Memoria, utiliza um modificador de visibilidade que foge ao padrão usado nas implementações de classes Java, uma vez que complementa a capacidade do padrão Singleton em permitir a criação de apenas um objeto para as classes as quais os comportamentos necessitam dessa condição.
Sobre o padrão de projeto Singleton
- O projeto Singleton éuma espécie de padrão de projeto de software / criacional, o qual assegura a existência de uma instância de uma classe somente e mantém ainda um ponto global de acesso ao seu objeto.
Bons estudos!