2010-11-03 18 views
1

J'ai beaucoup cherché à ce sujet sur le débordement de pile et pense que cette question est assez différente pour mériter une nouvelle question.Classe d'utilité dans un projet de test automatisé - statique, singleton ou autre conception?

Pour les tests d'intégration, je dois activer le service Distributed Transaction Coordinator (SQL Server) afin que je puisse utiliser la fonction de restauration de base de données de MSTestExtensions.

donc j'ai besoin des méthodes telles que les suivantes:

public void StartService(string serviceName) 
public void StopService(string serviceName) 
public void RestartService(string serviceName) 

Il serait très facile de faire une classe statique. Le travail pour faire de cette classe un singleton in c# is not hard either.

Alors est-ce vraiment important si on utilise un singleton ou une classe statique ici? Cela me semble trivial, mais peut-être est-il plus approprié pour ce genre de chose?

Je ne pense pas que je devrais utiliser des interfaces, le polymorphisme, l'extensibilité, ou la capacité de passer cette classe qui contient ces méthodes autour. Donc, ces avantages de Singletons ne sont pas vraiment utiles dans ce cas. À la fin, les seuls avantages que je peux voir sont le chargement paresseux de la classe et ne pas avoir à ajouter de statique à chaque méthode.

Répondre

1

Les classes statiques fonctionnent bien si vous avez relativement peu de données et n'avez pas besoin des fonctions de POO. Je soupçonne que dans ce cas, cela fonctionnerait bien.