Le problème du Singleton je le vois beaucoup aussi quand il faut faire du découpage de code pour par exemple créer des modules sur des services d'une application par exemple.
Je suis donc comme Ceroce, j'essaie de passer par l'injection de dépendance mais il reste des parties où je continue l'utilisation des Singletons car je les juges plus simple dans une certaine situation. Par exemple, quand j'a utilisé le Multipeer Connectivity, j'ai préféré créer un singleton pour gérer les entrées et sortie de l'API car elle est globale à mon application.
Après j'avais également pensé à mettre une propriété calculé dans une extension de la classe UIView que j'aurais pu surcharger dans le cas d'une vue qui aurait un gap spécifique.
Bah en fait non... On ne peut pas surcharger une propriété calculée déclarée dans une extension. ::)
Ouai mais ça me fait chier de déclarer la variable dans toute mes vues... Si après je veux changer la valeur, je devrais la modifier unitairement ici et là ...
Réponses
Le problème du Singleton je le vois beaucoup aussi quand il faut faire du découpage de code pour par exemple créer des modules sur des services d'une application par exemple.
Je suis donc comme Ceroce, j'essaie de passer par l'injection de dépendance mais il reste des parties où je continue l'utilisation des Singletons car je les juges plus simple dans une certaine situation. Par exemple, quand j'a utilisé le Multipeer Connectivity, j'ai préféré créer un singleton pour gérer les entrées et sortie de l'API car elle est globale à mon application.
Bah en fait non... On ne peut pas surcharger une propriété calculée déclarée dans une extension. ::)
Jérémy, je ne comprends pas pourquoi tu as fait le truc avec UIProperty, juste pour avoir une constante ?
Pourquoi pas utiliser une vraie constante ?
Ou, si tu voulais avoir un type comme "namespace", tu pourrais faire :
Tu as entièrement raison c'est complètement débile.
Mais je vais passer par une propriété dans l'extension d'uiview.
Pourquoi sur UIView ? Tu veux cette fonctionnalité sur n'importe quelle vue ?
Si ce n'est que pour les vues spécifiques, tu irais mieux en déclarant un protocol et l'implementer dans chaque vue applicable
Ouai mais ça me fait chier de déclarer la variable dans toute mes vues... Si après je veux changer la valeur, je devrais la modifier unitairement ici et là ...
Dans ce cas là :
Joanna : J'achète !