[webkit-dev] Pattern for singleton classes instance getters

Yong Li yong.li.webkit at outlook.com
Wed Jan 28 18:31:05 PST 2015

"Class::unique()" is one of the known names for singletons

Yong Li
From: Maciej Stachowiak<mailto:mjs at apple.com>
Sent: ‎1/‎28/‎2015 9:11 PM
To: Darin Adler<mailto:darin at apple.com>
Cc: WebKit Development<mailto:webkit-dev at lists.webkit.org>
Subject: Re: [webkit-dev] Pattern for singleton classes instance getters

> On Jan 28, 2015, at 4:28 PM, Darin Adler <darin at apple.com> wrote:
> I like the economy of the smaller non-member function name; it seems overly wordy to be constantly stating the class name as well as the nearly meaningless word “shared”. I think the word “shared” is what I like least about the member function approach.
> It had always thought that we used static member functions for this to replicate the pattern from Objective-C, and it seems more idiomatic modern C++ to use a free function for this kind of thing.
> Maciej’s point about Class::create() might be enough to convince me to change my view, though; it’s hard to see any reason the same logic wouldn’t apply in that case.

I would also find it acceptable to use free functions for all these cases. Mostly it bugs me for them to be different - the singleton case is rarer, so it seems odd to treat it as especially conciseness-worthy.

Yet another possibility is finding a better name than ‘shared’ for the singleton pattern function, but I don’t have any better ideas. Class::getSingleton() is more explicit but the extra verbosity doesn’t seem helpful to me.


webkit-dev mailing list
webkit-dev at lists.webkit.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20150128/75b1c370/attachment.html>

More information about the webkit-dev mailing list