singleton ... again
On Wed, 12 Feb 2014 23:04:32 +1300, Gregory Ewing wrote:
> Roy Smith wrote:
>> It looks to me like he's trying to implement a classic Gang of Four
>> singleton pattern.
> Which I've never really seen the point of in Python, or any other
> language for that matter. Just create one instance of the class during
> initialisation, put it in a global somewhere, and use it thereafter.
> If you really want to make sure nobody creates another instance by
> accident, delete the class out of the namespace after instantiating it.
That does not work. It is trivial to get the type from an instance:
py> class Singleton:
py> S = Singleton()
py> del Singleton
py> T = type(S)()
<__main__.Singleton object at 0xb71de9ec>
<__main__.Singleton object at 0xb71dea2c>
This is not aimed at the original poster, just a general observation. The
Singleton design pattern is overused because it is probably the only
design pattern that most programmers really understand.