我现在的处境是,我必须确保我只有一个目标。我正在考虑像下面这样实现singleton:
class One_Of_a_Kind:
def __init__(self):
self.do_some_setup()
class One_Creator:
Only_One = None
def __new__(cls, *args, **kwargs):
if One_Creator.Only_One:
return One_Creator.Only_One
else:
One_Creator.Only_One = One_of_a_Kind()
return One_Creator.Only_One
因为我读了很多关于单例(优点和缺点)的书,所以在实现这段代码时我有点犹豫。我想知道在只需要(或必须)某个类的一个对象的情况下使用它是否可以和/或被认为是良好的做法。你知道吗
有没有更好的方法来实现同样的事情?你知道吗
何时以及如何使用单例是一个相当广泛的问题,主要基于观点。也就是说,我会这样实施:
这个想法取自here。这是一种伪单例,因为两个实例不会共享相同的id:
一个更好的方法是博格设计模式。用python实现非常简单:
实际上,您没有一个实例,但是每个实例共享相同的状态-这是最重要的部分。你知道吗
相关问题 更多 >
编程相关推荐