Alternativa a Singleton en Objective-C para un mejor diseño de la aplicación
Parece que muchos códigos Objective-C están usando Singleton hoy en día.
Mientras que muchas personas se quejan de Singleton, p. Google ¿Dónde se han ido todos los Singletons?), sus compañeros ingenieros también lo usan de todos modos:http: //code.google.com/mobile/analytics/docs/iphone
Sé que ya teníamos algunas respuestas en Stack Overflow, pero no son totalmente específicas de Objective-C como lenguaje dinámico: Objective C tiene categorías, mientras que muchos otros lenguajes no.
¿Así que cuál es tu opinión? ¿Sigues usando Singleton? Si es así, ¿cómo puede hacer que su aplicación sea más comprobable?
Actualizad: Creo que necesitamos usar códigos como ejemplo para una discusión más concreta, por lo que muchas discusiones sobre SO se basan en la teoría sin una sola línea de código
Usemos el SDK de iOS de Google Analytics como ejemplo:
// Initialization
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
dispatchPeriod:kGANDispatchPeriodSec
delegate:nil];
// Track page view
[[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
withError:&error];
La belleza del código anterior es una vez que haya inicializado utilizando el método " startTrackerWithAccountID ", puedes ejecutar el método" trackPageview "en todas sus aplicaciones sin pasar por las configuraciones.
Si cree que Singleton es malo, ¿puede mejorar el código anterior?
Muchas gracias por tu aporte, que tengas un feliz viernes.