J'ai appris que les classes de service Grails sont de type Singleton. Pour quelle raison les classes de service sont-elles définies comme Singleton ?
Merci d'avance.
J'ai appris que les classes de service Grails sont de type Singleton. Pour quelle raison les classes de service sont-elles définies comme Singleton ?
Merci d'avance.
Les services Grails peuvent être utilisé avec différentes lunettes , pas juste singleton
en ajoutant quelque chose comme ceci à la classe :
static scope = "flow"
Extrait du manuel :
prototype
- Un nouveau service est créé chaque fois qu'il est injecté dans une autre classe.request
- Un nouveau service sera créé par demandeflash
- Un nouveau service sera créé uniquement pour la demande actuelle et la demande suivante.flow
- Dans les flux web, le service existera pour la portée du flux.conversation
- Dans les flux web, le service existe pour la durée de la conversation, c'est-à-dire un flux racine et ses sous-flux.session
- Un service est créé pour le champ d'application d'une session utilisateur.singleton
(par défaut) - Il n'existe qu'une seule instance du service.La principale raison de choisir singleton
par défaut est plus performant, à la fois en termes d'utilisation de la mémoire (une seule instance est présente) et de temps de traitement, car il n'y a pas de surcharge liée à la création d'un nouvel objet.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.