给定一个仅实例化一次的Python类,即该类中只有一个对象。我想知道在什么情况下创建单个类实例而不是直接与该类一起工作才有意义。
有一个类似的问题,但重点不同:
- 它是关于将全局变量和函数分组为一个类,
- 它不是特定于Python的。后者意味着它不考虑(在Python中)类也是对象的事实。
更新:
在Python中,我可以对类和对象执行以下操作:
class A(object):
pass
A.some_state_var = True
# Then later
A.some_state_var = False
my_a = A()
my_a.some_state_var = True
# Then later
my_a.some_state_var = False
因此,我看不到在类和该类的实例之间进行选择如何与状态有关(在Python中)。我可以通过两者之一来保持状态。
此外,创建我的类/类实例的动机与执行Singleton要求无关。
另外,创建新的Type并不需要太多。
这样做的动机是将相关的代码和数据进行分组,并为其提供接口。这就是为什么我最初在类图中将其建模为类的原因。仅当涉及到实现时,我才开始怀疑是否要实例化此类。