2013-08-04 5 views
0

J'ai un script avec un tas de Subs & Les fonctions qui utilisent le FileSystemObject, et actuellement j'ai une variable locale objFileSystem dans chaque procédure. Ma première pensée était de rendre les procédures découplées et réutilisables, mais maintenant je me demande si je suis mieux avec une seule portée mondiale objFileSystem?Instancier FileSystemObject en tant que Singleton?

  1. Je comprends ce ne serait pas un vrai Singleton (étant VBScript), il est juste la question d'un seul objet partagé vs plusieurs objets dédiés, qui est comme un Singleton.

  2. J'ai une récurrence dans quelques endroits, et je suis curieux de savoir si cela change la meilleure pratique du tout.

  3. J'ai une condition similaire avec un objet de registre, et je me demande si la meilleure pratique est la même, ou est-ce que ces deux comportements se comportent différemment? Je ne suis pas (trop) préoccupé par la performance ni la gestion de la mémoire, mais je voudrais comprendre le pourquoi de toute bonne pratique.

Répondre

0

Si vous faites effectivement réutiliser des fonctions/procédures ailleurs et VISER encapsulation stricte: tenir à l'instanciation locale de ces objets. Sinon, utilisez des instances singleton. Cela s'applique également au FileSystemObject et probablement à l '"objet de registre" (en supposant que vous entendiez ici un objet WMI).

Questions connexes