Singleton
Publicado por Francisco Souza 16/04/2009
[ Hits: 7.399 ]
Homepage: http://www.franciscosouza.net
Este módulo Python apresenta a implementação, em Python, do padrão de projeto Singleton. O módulo apresenta um exemplo de uso, é auto-explicativo.
Para criar uma classe regida por Singleton, basta que esta classe herde da classe Singleton. Veja o código para melhor entendimento.
#coding:utf-8
'''
Este módulo possibilita que seja implementada uma classe usando o padrão de projeto Singleton.
'''
<pre>
class Singleton(object):
    '''Classe Singleton
    
    Esta classe controla as instâncias, garantindo apenas uma instância.
    '''
    
    _instance = None
    
    def __new__(cls, *args, **kwargs):
        if not cls._instance:
            cls._instance = object.__new__(cls, *args, **kwargs)
        
        return cls._instance
    
# Classe Pessoa: um exemplo de uso
class Pessoa(Singleton):
    def __init__(self, nome, idade):
        self.nome = nome
        self.idade = idade
        
if __name__ == '__main__':
    p1 = Pessoa('João', 20)
    p2 = Pessoa('Maria', 85)
    
    print p1.nome # vai escrever Maria
    print p2 is p1 # True.
</pre>
Script em Python com várias funções matemáticas [iniciante]
Programa para calcular a média e a nota trimestral
Script para obter um wallpaper de como está o globo em tempo real
Como rodar músicas mp3 pelo Python
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









