Você está na página 1de 6

UNIVERSIDADE DA AMAZNIA

Bruno Penafort da Silva Oliveira

PADRES DE PROJETO - SINGLETON

BELM
2015

UNIVERSIDADE DA AMAZNIA

Bruno Penafort da Silva Oliveira

PADRES DE PROJETO - SINGLETON

Trabalho Acadmico apresentado Universidade


da Amaznia como requisito avaliativo parcial da
Disciplina Anlise e Projetos II do Curso Anlise e
Desenvolvimento de Sistemas.
Prof. Adonias

BELM
2015

INTRODUO
Os Padres de projeto so estruturas no projeto de software orientados a
objetos, que se repetem freqentemente. Surgiu para auxiliar desenvolvedores a
criar uma regra que fosse comum a todos, um padro a ser utilizado no
desenvolvimento de softwares, a idia principal foi de que pudesse ser documentado
os problemas mais recorrentes que aconteciam com os softwares e mostram de uma
forma simples e comprovada de que os problemas tem soluo. Os padres ajudam
a diminuir a complexidade do processo de desenvolvimento do software.

MOTIVAO
Um dos motivos para se usar o padro Singleton de que ele pode ser criado
para gerenciar a aplicao atravs de uma instncia, onde ele ser acessado na
classe responsvel e por todas as classes. O mtodo s ser chamado quando for
necessrio, fazendo com que no fique repetido em vrias classes, sendo inclusive
muito mais de fcil de gerenciar a criao e utilizao da instncia.

APLICABILIDADE
Use o padro Singleton quando:
For preciso haver apenas uma instncia de uma classe, e essa instncia
tiver quedar acesso aos clientes atravs de um ponto bem conhecido.
A nica instncia tiver de ser extensvel atravs de subclasses,
possibilitando aos clientes usar uma instncia estendida sem alterar o seu cdigo.
ESTRUTURA

APLICAO/IMPLEMENTAO
Esse um exemplo de Sinlgeton implementado em Java, ele faz a exibio
de uma mensagem na tela. O que pode ser facilmente acessado por outras classes,
atravs dessa implementao.
// Este singleton um dispositivo que imprime mensagens para a tela.
public class TelaSingleton {
//Varivel instancia unica, que esttica, de forma a garantir a criao
//de outras instancias
protected static TelaSingleton instanciaunica = null;
protected int id = 0;
//Marcador para indicar no teste que as instncias so iguais
public String marc = null;
//Construtor protegido, para impedir que a instancia seja criada de outra
//forma que no via mtodo Instance()
protected TelaSingleton() {
id++;
}
//Mtodo Instance um factory method que retorna a instncia nica
//criada
public static TelaSingleton Instancia() {

if(instanciaunica == null) {
//Se instanciaunica no tiver sido criada, cri-la.
instanciaunica = new TelaSingleton();
//Ajustar valor do marcador
instanciaunica.marc = INSTANCIA NICA;
}
//Seno, a retorna, porque j foi criada
return instanciaunica;
}
//Mtodo para impresso da mensagem na tela.
public void imprimir(String mensagem) {
System.out.println(mensagem);
}
}
class Main {
public static void main (String[] args) {
//Crio o dispositivo para impresso na tela e imprimo mensagem
TelaSingleton T1 = TelaSingleton.Instancia();
T1.imprimir("T1.marc");
//Declaro novo dispositivo e imprimo. A instancia retornada a mesma:
//T1=T2, o que verificado pelas mensagens idnticas que so impressas
// via atributo marc do singleton.
TelaSingleton T2 = TelaSingleton.Instancia();
T2.imprimir("T2.marc");
}
}

CONCLUSO

O Singleton um padro de projeto que pode ser utilizado facilmente por


muitas linguagens de programao, o que torna o cdigo da aplicao mais fcil de
ser acessado por outras classes e deixa a aplicao mais leve, no deixando o
cdigo muito poludo, o que pode causar perda de desempenho. A for

Você também pode gostar