J'ai une classe Singleton
qui dépend fortement du fichier XML
qu'elle utilise comme base de données. Au constructeur, le fichier XML
est lu et un FileSystemWatcher
surveille tout autre changement.Est-ce que 'lock (this)' convient à la synchronisation de chaque fonction membre?
Maintenant, si des changements se produisent, je vais lire à nouveau les données du fichier XML
mais à ce stade, les fonctions non de classe doivent être accessibles jusqu'à ce que le fichier XML
soit rechargé.
Ma question est peut-je utilise simplement this
comme objet de synchronisation (en rechargeant fichier XML
) et ne pas apporter de modifications aux fonctions au lieu de mettre un grand lock
sur toutes les fonctions?
Suis-je ici: Parce que j'utilise le motif Singleton et qu'il charge des données dans le constructeur, je peux simplement changer '_instance' (je veux dire la référence interne à un objet singleton) à un nouveau' MyClass' (singleton class) et tout est fait. – Xaqron
@Xaqron - Je pensais encapsuler ** dans ** le singleton, mais tout ce qui fonctionne pour vous. Notez que si vous pouvez le "nouveau", ce n'est pas vrai singleton. –
Vous avez raison. Je ne peux pas le renouveler mais le concept est sympa.Merci – Xaqron