jueves, 18 de septiembre de 2008

PATRONES CREACIONALES (I). Patrón Singleton

Este patrón se utiliza para garantizar una única instancia de una clase determinada. Este mecanismo puede ser interesante para ciertos tipos de controles, por ejemplo el acceso a un
determinado recurso compartido.


# singleton:
class Singleton (object):
instance = None
def __new__(cls, *args, **kwargs):
if cls.instance is None:
cls.instance = object.__new__(cls, *args, **kwargs)
return cls.instance

a = Singleton()
b = Singleton()

print id(a), id(b)


La funcion id() devuelve un entero único y constante durante la vida del objeto si los valores para la función id son idénticos en ambos casos garantizan que clase Singleton ha sido implementada de forma correcta.

A continuación, os dejo un vídeo dividido en tres partes que he encontrado sobre el patrón Singleton


Parte 1


Parte 2


Parte 3

No hay comentarios: