Je crée une méthode utilitaire GetServiceTicketNumber()
à l'intérieur d'une classe utilitaire, puisque la méthode sera utilisée souvent je ne veux pas instancier à chaque fois donc j'ai fait la méthode & _ticket comme statique.C# Fonctionnalité utilitaire Méthode statique/Classe statique/Modèle singleton
UtilityManager
contient également plusieurs autres méthodes.
Ma question est:
1) Est-ce la bonne façon de mettre en œuvre la fonctionnalité? 2) si faire UtilityManager
aussi une classe statique/non ?, quelle différence cela fait-il?
3) Si le code ci-dessous (pour la fonctionnalité TicketProvider) est écrit en modèle singleton? (Compte tenu de la plupart de la classe singleton instancier la même classe UtilityManager
.)
autres informations: classe appelée dans Asp.Net application
public sealed class UtilityManager
{
public static readonly TicketProvider _ticket = new TicketProvider();
public static int GetServiceTicketNumber()
{
return _ticket.GetTicket();
}
}
Merci pour la réponse, Quels avantages Initialisation dans le constructeur fournir que ce code "public static readonly TicketProvider _ticket = new TicketProvider();" – user758405
Les champs statiques sont initialisés lors de la première utilisation. D'un autre côté, le constructeur statique s'assurera que les champs sont initialisés dès que la classe elle-même accède sous n'importe quelle forme. Ainsi, le constructeur statique s'assurera que vos champs sont initialisés tout à la fois et dans l'ordre que vous voulez être. En fait, un peu de préférence personnelle ici. –
Comment prendre la décision de traiter une classe d'utilitaires comme une instance/static? – user758405