Is this a good singleton?

2016-02-13 Thread Vladde Nordholm via Digitalmars-d-learn

Hello. I have this singleton,

--
class Singleton
{
private this() {}
static __gshared typeof(this) instance = new this;
}
--

and I wonder if it has any weaknesses. Or is there a better way 
to make a Singleton?


,vladde,


Re: Is this a good singleton?

2016-02-13 Thread Ali Çehreli via Digitalmars-d-learn

On 02/13/2016 10:58 AM, Vladde Nordholm wrote:

Hello. I have this singleton,

--
class Singleton
{
 private this() {}
 static __gshared typeof(this) instance = new this;
}
--

and I wonder if it has any weaknesses. Or is there a better way to make
a Singleton?

,vladde,


David Simcha's DConf 2013 presentation has a singleton implementation at 
27:55:


  https://www.youtube.com/watch?v=yMNMV9JlkcQ

Ali



Re: Is this a good singleton?

2016-02-13 Thread Charles via Digitalmars-d-learn

On Saturday, 13 February 2016 at 19:32:33 UTC, Ali Çehreli wrote:
David Simcha's DConf 2013 presentation has a singleton 
implementation at 27:55:


  https://www.youtube.com/watch?v=yMNMV9JlkcQ

Ali


Neat video! Watched the singleton section to end up watching the 
rest of the video. Anything every come of the std.patterns idea?


Re: Is this a good singleton?

2016-02-13 Thread Russel Winder via Digitalmars-d-learn
On Sat, 2016-02-13 at 18:58 +, Vladde Nordholm via Digitalmars-d-
learn wrote:
> Hello. I have this singleton,
> 
> --
> class Singleton
> {
>  private this() {}
>  static __gshared typeof(this) instance = new this;
> }
> --
> 
> and I wonder if it has any weaknesses. Or is there a better way 
> to make a Singleton?

Following the ACCU consensus: there is never, ever a good Singleton or
reason to contemplate using one.

Obviously though there are some good ones: about dialogues in GUIs for
example.

The good/evil-ness of Singleton is definitely in it's use: most people
use Singleton wrongly, most uses should be banned. Hence the ACCU
consensus.

It's all about coupling and mostly testability of code..

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



signature.asc
Description: This is a digitally signed message part


Re: Is this a good singleton?

2016-02-14 Thread Vladde Nordholm via Digitalmars-d-learn

On Sunday, 14 February 2016 at 07:16:54 UTC, Russel Winder wrote:
On Sat, 2016-02-13 at 18:58 +, Vladde Nordholm via 
Digitalmars-d- learn wrote:

[...]


Following the ACCU consensus: there is never, ever a good 
Singleton or reason to contemplate using one.


Obviously though there are some good ones: about dialogues in 
GUIs for example.


The good/evil-ness of Singleton is definitely in it's use: most 
people use Singleton wrongly, most uses should be banned. Hence 
the ACCU consensus.


It's all about coupling and mostly testability of code..


Thanks. I'm using David Simcha's singleton now.