Re: Is Apple's singleton sample code correct?
Re: Is Apple's singleton sample code correct?
- Subject: Re: Is Apple's singleton sample code correct?
- From: David Gimeno Gost <email@hidden>
- Date: Thu, 1 Dec 2005 00:48:09 +0100
On 29 Nov 2005, at 19:30, Shaun Wexler wrote:
Then, Uli Kusterer provided a much better implementation using a
different approach: instead of overriding +allocWithZone: he chose to
override the -init method to ensure that only the instance created by
the +sharedInstance method is ever returned. What I like most about
this approach is not that the code is more self-documenting, but that
it completely eliminates another nasty side effect that I haven't
mentioned in the above paragraphs and that any +allocWithZone:-based
approach would have: the repeated -init call problem.
Please refer to the "hardcore" singleton base superclass I posted a
few years ago:
<http://www.cocoabuilder.com/archive/message/cocoa/2004/2/13/97027>
If I understand it correctly, your implementation avoids the repeated
-init call problem by raising an exception if [[MySingleton alloc]
init] is called by client code. This is not the problem we were trying
to solve. We wanted to allow [[MySingleton alloc] init] to be called as
for any other class. I see no point in all that overhead just to ensure
that client code never attempts to do that.
Moreover, your implementation still has all the other problems I
mentioned about the Apple's sample code implementation, so I really
don't see what the point is here.
Regards.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden