This may be a question of what jargon we’ve encountered, but to me, “singleton" clearly means "the one unique instance of this class" while “instance" means "any instance of this class". If I hadn’t seen this thread, I would interpret Class::instance() to mean “create a brand new instance of this class” rather than “return the unique singleton instance of this class, creating if necessary".
Regards, Maciej > On Jan 28, 2015, at 8:54 PM, Chris Dumez <[email protected]> wrote: > > Yes, instance() is what I’ve seen mostly outside WebKit as well. This would > be my preference. > > Kr, > -- > Chris Dumez - Apple Inc. > Cupertino, CA > >> On Jan 28, 2015, at 8:44 PM, Michael Catanzaro <[email protected] >> <mailto:[email protected]>> wrote: >> >> On Wed, Jan 28, 2015 at 8:11 PM, Maciej Stachowiak <[email protected] >> <mailto:[email protected]>> wrote: >>> 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. >> >> 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. >> >> That said, Class::singleton() is very attractive too. >> >> 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. >> >> 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. >> _______________________________________________ >> webkit-dev mailing list >> [email protected] <mailto:[email protected]> >> https://lists.webkit.org/mailman/listinfo/webkit-dev >
_______________________________________________ webkit-dev mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-dev

