lternativa a Singleton no Objective-C para melhor design de aplicativ
Parece que muito código Objective-C está usando Singleton hoje em di
Enquanto muitas pessoas reclamam de Singleton, por exemplo, Google Onde Todos os Singletons Foram?), seus colegas engenheiros também o usam de qualquer maneira:http: //code.google.com/mobile/analytics/docs/iphone
Sei que já tivemos algumas respostas no Stack Overflow, mas elas não são totalmente específicas ao Objective-C como uma linguagem dinâmica: o Objective C possui categorias, enquanto muitos outros idiomas nã
Então qual é a sua opinião? Você ainda usa Singleton? Em caso afirmativo, como você torna seu aplicativo mais testável?
Atualizad: Acho que precisamos usar códigos como exemplo para discussões mais concretas, muitas discussões sobre SO são baseadas na teoria sem uma única linha de código
Vamos usar o SDK do Google Analytics para iOS como exemplo:
// Initialization
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
dispatchPeriod:kGANDispatchPeriodSec
delegate:nil];
// Track page view
[[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
withError:&error];
A beleza do código acima é quando você inicializa usando o método " startTrackerWithAccountID ", você pode executar o método" trackPageview "em todos os seus aplicativos sem passar pelas configurações.
Se você acha que Singleton é ruim, pode melhorar o código acima?
uito obrigado pela sua contribuição, tenha uma feliz sexta-feir