SlideShare uma empresa Scribd logo
Padrão de Criação de ObjetosSingleton 
InstitutoFederaldeEducação,CiênciaeTecnologiadaParaíba–campusCajazeiras 
Curso:AnáliseeDesenvolvimentodeSistemas 
Professor:RodrigoAraújo 
Disciplina:PadrõesdeProjeto 
Fátima Ferreira 
Sérgio Diniz
Uma definição de Singleton
Umjeitofácildeacessarumainstânciadeclasseglobal. Singleton
Exemplo de motivação
Exemplo de motivação
Padrão Singleton 
Éimportanteparaalgumasclassesteruma,eapenasuma, instância. 
Emborapossamexistirmuitasimpressorasemumsistema, deveriahaversomenteumspoolerdeimpressoras;
Padrão Singleton -Intenção 
OPadrãoSingletonéumpadrãocriacional; 
Garantirqueumaclassetenhasomenteumainstânciaefornecerumpontodeacessoglobalparaamesma; 
Qualafuncionalidadedisso? 
Objetosquetratamdepoolsdeconexão,saídasgráficas, impressão,objetosquecuidamderegistrosnãodevemserinstanciadosmaisdeumavez 
UmoutrousodopadrãoSINGLETONéquandoqueremosumaclassedeLogparatodoosistema,semprecisarmosutilizarrecursosdosistemaparainstanciarumaclassesemprequeprecisarmosgravardadosnoservidor.
Padrão Singleton -Motivação 
Algunsprogramadoresdevemestarpensandoagora: 
Masissoéfácil!Bastaeuterumavariávelglobalcomainstânciadoobjetoesempreacessarela!
Oproblemaéqueessavariávelsendoinicializadanocomeçodaexecuçãodoprojeto,essaclasseestaráconsumindorecursosmesmosemserutilizada! 
ComoSingleton,aclassesóéinstanciadaquandovocêrealmenteprecisadela! 
Padrão Singleton -Motivação
Padrão Singleton -Motivação 
Comoprevenirqueumobjetonãosejainstanciadomaisdeumavez?
Padrão Singleton -Motivação 
Criarumconstrutorprivado.Comisso,aclassesópodeserinstanciadadentrodealgumdosseusprópriosmétodos! 
Melhor maneira de tornar a classe responsável por manter o controle da sua única instância;
Padrão Singleton -Aplicabilidade 
UseopadrãoSingletonquando: 
◦Forprecisohaverapenasumainstânciadeumaclasse,eessainstânciativerquedaracessoaosclientesatravésdeumpontobemdefinido; 
◦Aúnicainstânciativerdeserextensívelatravésdesubclasses,possibilitandoaosclientesusarumainstânciaestendidasemalteraroseucódigo;
Padrão Singleton -Estrutura
Lógicadaclasse:"Seomeuatributoinstanceédiferentedenullretornoelesenãovouinstanciareleeretorná-lo.AssimapróximachamadaagetInstance()vairetornaromesmoobjeto,independentedesenachamadaanterioreleeraounãodiferentedenulletodasaspróximaschamadas, enquantodureaaplicaçãosempreretornaráomesmoobjeto." 
Padrão Singleton -Estrutura
Padrão Singleton -Participantes 
◦AclasseSingletonseráaclassecujocontroledeinstânciaúnicaseráaplicado.Elapossuicomoresponsabilidadesocontroledacriaçãodaúnicainstância,eproveropontodeacessoaessainstância. 
◦OsclientessãotodasasoutrasclassesqueirãoacessarainstânciaúnicaatravésdométodogetSingleton()daclasseSingleton.
Padrão Singleton -Colaborações 
•Nessepadrãodeprojeto,irãoocorreriteraçõesentreaclasseSingletoneosclientes.AclasseSingletonpossuiummétodoestáticogetSingleton()queforneceaosclientesaúnicainstânciadaclasse.Dessemodo,garantimosaexistênciadeumpontoúnicodeacessoaesseobjeto. 
•Paragarantirmosqueoobjetosejaúnicoduranteaexecução, devemosdesabilitaroacessoaoconstrutordaclasseporoutrasclasses.AúnicaclassequedevepossuiracessoaoconstrutoréaprópriaclasseSingleton,enenhumaoutra.Issopodeserfeitotornandooconstrutordaclasseprivado.
Padrão Singleton -Consequências 
Acessocontroladoainstânciaúnica 
◦Aprópriaclasseencapsulasuainstânciaúnicae,portanto,temestritocontrolesobrecomoequandoosclientesaacessam; 
Reduçãononamespace 
◦OSingletonéumaalternativaeficienteàsvariáveisglobais.Evitapoluironamespacecomvariáveisglobaisquearmazenaminstânciasúnicas; 
Permiteumnúmerovariáveldeinstâncias 
◦PodepermitiracriaçãodemaisdeumainstânciadoSingletonouatécontrolaronúmerodeinstânciasexistentes.Somenteaoperaçãoinstance()precisasermodificada;
•AimplementaçãodopadrãoSingletonébastantesimples. Paratal,devemosprimeiroadicionarumavariávelestáticadomesmotipodaclassenaprópriaclasse.Essavariáveldeveráserprivada,paraevitarqueoutrasclassespossammodificá-la; 
•Aseguir,devemosadicionarummétodopúblicoeestáticogetSingleton()àclasse,queiráverificarseainstânciafoicriada.Senãofoicriadaainda,essemétodoirácriarela.Porfim,essemétodoretornaainstânciaarmazenada. 
Padrão Singleton -Implementação
•Paragarantirqueainstânciasejaúnica,equenenhumclientepossacriarumanovainstanciadaclasseSingleton, devemosprotegeroconstrutordaclasse,paraqueapenasométodogetSingleton()possacriarumanovainstância. 
•QualquerclasseclienteiráfazerumachamadaaométodoestáticogetSingleton()paraobterainstânciaúnicadaclasse.Nomomentoemqueforfeitaaprimeirachamadaaométodoainstânciaserácriada.Naschamadasseguintes, amesmainstânciaseráretornada. 
Padrão Singleton -Implementação
Padrões Relacionados 
VáriospadrõespodemserimplementadosUtilizandoSingleton,emparticular: 
◦AbstractFactory; 
◦Builder; 
◦Prototype;
Padrão Singleton -Exemplos
Exemplo 01 
•Imagineaseguintesituação: 
•ImaginequetenhamosumJanela,essaserianossaclasse, chamadaJanela...
Suponhamosquetemosduasfunções(quechamamosdemétodos),seriamAbrir()eFechar(); 
Então... 
Exemplo 01 
Aquestãoéqueparapodermosacessarumaclasseeseusmétodos/atributostemosqueinstanciá-la.
 Até aí tranquilo? Mas há um problema . 
 Toda vez que tivermos que abrir ou fechar essa janela, vamos ter que 
instanciar? 
Exemplo 01
Exemplo 01 –Solução Singleton
Exemplo 02 
•“Imagineumaaplicaçãoondesefaznecessáriocriarumarquivodelogpararegistrarquandousuáriologanosistema.”
Solução
Solução
Exemplo 03 
•Imagine a seguinte situação 
•“Suponhaquevocêdevetrabalharemumprojetocomputacionalparaumadeterminadafabricadecarros,osistemacadastrarcarrosdaFordedaFiat,edevecontrolaraquantidadedecarrosfabricados,egerarumrelatórioinformandoessesdados.Contudo,nãoécabívelqueexistamaisdoqueumafábricadecarrospararealizaressecontrole.”
Patterns: Singleton
Patterns: Singleton
Patterns: Singleton
Atividade 
Imagine a seguinte situação: 
◦“Gostariadecriarumaclassequegerasseumaconexãocommeubancodedados.Quandoeuacessaraprimeiravezessaclasse,seráconstruídaumaconexão,masnodecorrerdaexecução,casoexistamaisacessosaobanco,gostariadeutilizaraMESMAclassecomaMESMAconexão."
Atividade
Patterns: Singleton
Patterns: Singleton
Patterns: Singleton
Patterns: Singleton
Patterns: Singleton

Mais conteúdo relacionado

Mais de Fatinha de Sousa

Segurança Na Internet
Segurança Na InternetSegurança Na Internet
Segurança Na Internet
Fatinha de Sousa
 
Segurança em redes
Segurança em redesSegurança em redes
Segurança em redes
Fatinha de Sousa
 
Banco de Dados Multimidia
 Banco de Dados Multimidia Banco de Dados Multimidia
Banco de Dados Multimidia
Fatinha de Sousa
 
Gerenciamento de Pessoas
Gerenciamento de PessoasGerenciamento de Pessoas
Gerenciamento de Pessoas
Fatinha de Sousa
 
Estudo de Caso Windows
Estudo de Caso WindowsEstudo de Caso Windows
Estudo de Caso Windows
Fatinha de Sousa
 
Patterns: Factory Method
Patterns: Factory MethodPatterns: Factory Method
Patterns: Factory Method
Fatinha de Sousa
 

Mais de Fatinha de Sousa (6)

Segurança Na Internet
Segurança Na InternetSegurança Na Internet
Segurança Na Internet
 
Segurança em redes
Segurança em redesSegurança em redes
Segurança em redes
 
Banco de Dados Multimidia
 Banco de Dados Multimidia Banco de Dados Multimidia
Banco de Dados Multimidia
 
Gerenciamento de Pessoas
Gerenciamento de PessoasGerenciamento de Pessoas
Gerenciamento de Pessoas
 
Estudo de Caso Windows
Estudo de Caso WindowsEstudo de Caso Windows
Estudo de Caso Windows
 
Patterns: Factory Method
Patterns: Factory MethodPatterns: Factory Method
Patterns: Factory Method
 

Último

Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdfAviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Falcão Brasil
 
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
Falcão Brasil
 
Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
Bibliotecas Escolares AEIDH
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
Manuais Formação
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
LuizHenriquedeAlmeid6
 
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Falcão Brasil
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Falcão Brasil
 
Fotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosasFotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosas
MariaJooSilva58
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
Falcão Brasil
 
Desafios Contemporâneos para o Exército Brasileiro (EB).pdf
Desafios Contemporâneos para o Exército Brasileiro (EB).pdfDesafios Contemporâneos para o Exército Brasileiro (EB).pdf
Desafios Contemporâneos para o Exército Brasileiro (EB).pdf
Falcão Brasil
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
Marcelo Botura
 
Construção Aeronáutica no Brasil. Embraer.pdf
Construção Aeronáutica no Brasil. Embraer.pdfConstrução Aeronáutica no Brasil. Embraer.pdf
Construção Aeronáutica no Brasil. Embraer.pdf
Falcão Brasil
 
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsxQue Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Luzia Gabriele
 
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdfGeotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Falcão Brasil
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
Mary Alvarenga
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
valdeci17
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
Falcão Brasil
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
portaladministradores
 

Último (20)

Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdfAviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
 
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdfA Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
A Industria Brasileira de Defesa - Situação Atual e Perspectivas de Evolução.pdf
 
Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024Boletim informativo - Contacto - julho de 2024
Boletim informativo - Contacto - julho de 2024
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
 
Festa dos Finalistas .
Festa dos Finalistas                    .Festa dos Finalistas                    .
Festa dos Finalistas .
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
 
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
Organograma do Centro Gestor e Operacional do Sistema de Proteção da Amazônia...
 
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.pptAnálise dos resultados do desmatamento obtidos pelo SIAD.ppt
Análise dos resultados do desmatamento obtidos pelo SIAD.ppt
 
Fotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosasFotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosas
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
 
Desafios Contemporâneos para o Exército Brasileiro (EB).pdf
Desafios Contemporâneos para o Exército Brasileiro (EB).pdfDesafios Contemporâneos para o Exército Brasileiro (EB).pdf
Desafios Contemporâneos para o Exército Brasileiro (EB).pdf
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
 
Construção Aeronáutica no Brasil. Embraer.pdf
Construção Aeronáutica no Brasil. Embraer.pdfConstrução Aeronáutica no Brasil. Embraer.pdf
Construção Aeronáutica no Brasil. Embraer.pdf
 
VIAGEM AO PASSADO -
VIAGEM AO PASSADO                        -VIAGEM AO PASSADO                        -
VIAGEM AO PASSADO -
 
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsxQue Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
 
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdfGeotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
Geotecnologias Aplicadas na Gestão de Riscos e Desastres Hidrológicos.pdf
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
 
Introdução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdfIntrodução ao filme Divertida Mente 2 em pdf
Introdução ao filme Divertida Mente 2 em pdf
 
Organograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdfOrganograma do Ministério da Defesa (MD).pdf
Organograma do Ministério da Defesa (MD).pdf
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
 

Patterns: Singleton