How to use globals correctly?
H. S. Teoh
hsteoh at quickfur.ath.cx
Tue Mar 6 19:52:05 UTC 2018
On Tue, Mar 06, 2018 at 11:46:04AM -0700, Jonathan M Davis via Digitalmars-d-learn wrote:
> On Tuesday, March 06, 2018 18:34:34 bauss via Digitalmars-d-learn wrote:
[...]
> > Singletons are always smelly code tbh.
> >
> > Especially in D with thread-local storage.
> >
> > I can't think of a situation where you truly need singletons in D.
>
> I confess that I've never really understood why some folks dislike
> singletons so much, but then again, I've only rarely found cases where
> I thought that they made sense, and I gather that some folks out there
> use the singleton pattern way too much (I've heard it suggested that
> it's because it was one of the few design patterns from the design
> pattern book that was easy).
[...]
To me, a singleton is a symptom of excessive dogmatic adherence to the
OO religion where Everything Must Be A Class No Matter What. When there
can only be one of something, it's clearly no longer a *class*, but is
either a module, a global variable, or a (set of) global function(s).
I'm curious to know what are the few cases where you think a singleton
made sense, where it wouldn't be more appropriately implemented as a
module, global variable, or global function(s).
T
--
Старый друг лучше новых двух.
More information about the Digitalmars-d-learn
mailing list