On 2/13/14 4:00 AM, Piet van Oostrum wrote:
Ben Finney <ben+pyt...@benfinney.id.au> writes:

Gregory Ewing <greg.ew...@canterbury.ac.nz> writes:

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.

Make that “somewhere” a module namespace, and you effectively have a
Singleton for all practical purposes. So yes, I see the point of it; but
we already have it built in :-)

There is a use case for a singleton class: when creating the singleton
object takes considerable resources and you don't need it always in your
program.


I still don't see it. To convince me that a singleton class makes sense, you'd have to explain why by virtue of the class's very nature, it never makes sense for there ever to be more than one of them.

Your example is an expensive-to-create object. Why does that mean I might not want two of them? I can see how it makes sense to have a factory function, which will make one only when asked, and will hold onto that object for the next time it's needed.

But that's different than a class which pretends to make instances but actually always returns the same instance.

--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to