que comúnmente crear aplicaciones que requieren el almacenamiento de datos, y estos datos se utilizan en todo el programa. Aunque no es mucho, por lo general uso NSUserDefaults
para cargar/guardar esta información. Sin embargo, el código de guardado/carga, junto con el empaque/desempaquetado de los datos, ocupa espacio, y pensé que mover este código a métodos reutilizables dentro de un singleton global sería una buena idea. Parece que funcionó bien.¿Está mal usar un singleton como clase de administrador de datos?
Aún así, he leído mucho últimamente sobre los males de embarazos únicos y objetos globales, y he empezado a tener dudas. La gente a menudo dice que el uso de singletons es casi siempre una indicación de diseño pobre. En su mayor parte, estaría en desacuerdo (creo que los usos simples como este son un buen patrón de diseño), pero ciertamente no soy un experto en el tema.
Por lo tanto, es el uso de embarazos únicos, incluso de una manera tan simple como este mal? Si es así, ¿cuál es la mejor alternativa?
No, no está mal, no está mal del todo. Tenga en cuenta que varias clases de iOS SDK proporcionadas por Apple se implementan como singletons. Lo cual no quiere decir que el código de Apple sea un buen código automáticamente, pero sí implica que el patrón singleton no carece de cualidades de canje. – aroth