2011-02-10 10 views
1

J'ai trois projets (bibliothèques C#) à savoir A, B, C.
Tous les 3 ont 3-4 fichiers XML (en général peuvent être des ressources) qui leur sont associés.
Chacun de ces projets a des classes qui accèdent à ces fichiers pour les paramètres et les informations. (chargement xmls quand jamais ils ont besoin)Partage de fichiers xml et de données entre plusieurs projets

Les problèmes est parfois il est nécessaire qu'une classe dans le projet C peut avoir besoin d'accéder à des ressources (fichiers XML, images, etc.) du projet B et vice-versa.

ces fichiers peuvent ou peuvent ne pas être une partie du chemins de ressources du projet peuvent provenir de app.config etc.

Son vraiment devenir fastidieux de trouver comment centraliser l'accès à ces ressources afin que tous les trois projets peuvent y accéder uniformément.

Actuellement, tous les projets chargent les fichiers en utilisant app.config.

Aussi, j'essaye de minimiser le nombre de fois qu'un xml est chargé (idéalement une fois). Mais étant donné que les projets sont différents, je dois le charger à nouveau. J'ai pensé à utiliser une classe Singleton car il serait plus logique de rendre l'accès uniforme, mais n'ont pas trouvé de solution.

Quelqu'un a déjà rencontré des situations similaires?
Existe-t-il des modèles de conception ou des bonnes pratiques pour le partage des ressources entre les projets?

Répondre

2

Créez une bibliothèque contenant la ou les classe (s) accédant à vos paramètres XML centralisés et référencez cette bibliothèque à partir des autres bibliothèques. Vous n'avez pas forcément besoin d'un Singleton pour cela, mais le mettre au même endroit vous permettra de concentrer vos efforts sur des choses pour l'améliorer plus tard, peut-être la mise en cache, etc.

Questions connexes