On Wed, Jan 28, 2015 at 8:11 PM, Maciej Stachowiak &lt;mjs@apple.com&gt; wrote:<br>
<blockquote type="cite"><div class="plaintext" style="white-space: pre-wrap;">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.</div></blockquote><br><div>I recommend Class::instance(), which is what I've seen used almost exclusively outside of WebKit. It's what Scott Meyers used, and it's very similar to the Gang of Four's choice of Class::Instance() and the Java pattern Class.INSTANCE.</div><div><br></div><div>That said, Class::singleton() is very attractive too.</div><div><br></div><div>I've never seen Class::shared() used anywhere except WebKit. The first time I saw this I had no clue what it was until I looked up the implementation.</div><div><br></div><div>All of these can get quite annoying to type, especially when the name of the class is long. (Sometimes I will keep a reference to the instance in a local variable with a shorter name.) But I think they're easier to read than free functions, and we should optimize for reading code, not writing it. Not a big deal either way.</div>