Estoy haciendo esta pregunta con respecto a Python, aunque probablemente sea aplicable a la mayoría de los lenguajes OOP.Creando una clase de Python para "solo una instancia"?
Cuando solo espero utilizar el modelo de datos una sola vez en cualquier programa, podría hacer una clase con clase/métodos estáticos y atributos o simplemente hacer una clase regular y crear una instancia y solo usar esa copia. En este caso, ¿qué método es mejor y por qué?
Con python, también podría escribir un módulo y usarlo como lo haría con una clase. En este caso, ¿qué camino es mejor y por qué?
Ejemplo: Quiero tener una estructura de datos central para acceder/guardar datos en los archivos. manera
Módulo:
data.py
attributes = something
...
def save():
...
main.py
import data
data.x = something
...
data.save()
manera Clase:
class Data:
attributes = something
@classmethod
def save(cls):
Data.x = something
Data.save()
manera ejemplo
class Data:
def save(self):
data = Data()
data.x = something
data.save()
¿Por qué el voto a favor? Esta es una pregunta de programación legítima. – darkfeline
búsqueda stackoverflow para 'singleton python' – warvariuc
La pregunta revisada es mucho mejor. No creo que un cierre (excepto un duplicado) esté actualmente garantizado. –