Je pense que vous n'étiez pas aussi clair que vous auriez pu être. Quelle sera la taille de ces fichiers? Serait-il logique pour la couche de données de toujours garder le XmlDocument en mémoire et de le sauvegarder sur disque dur à chaque mise à jour?
À quelle fréquence les mises à jour vont-elles se produire, le cas échéant? Comment allez-vous gérer la concurrence? Les mises à jour vont-elles être transactionnelles dans plusieurs fichiers xml? Comment allez-vous gérer la cohérence et l'intégrité transactionnelle? S'il n'y a pas de mise à jour, votre vie sera beaucoup plus simple.
Les méthodes n'ont pas besoin d'être statiques. La principale chose à considérer est que, dans le futur, vous voudrez peut-être changer le fournisseur DAL de XML en DB. À cette fin, la mise en œuvre concrète des interfaces DAL devrait s'adresser à un fournisseur de données abstrait. Pour vous, ce serait initialement un fournisseur Xml, mais vous devriez être capable d'écrire un fournisseur Sql qui implémente la même interface et de changer facilement l'implémentation en utilisant l'injection de dépendance, les fichiers de configuration ou ce que vous avez. Si vous avez des instances des implémentations DAL, vous pouvez simplement utiliser ces objets pour parler à la couche de données.
J'espère que c'est un bon début pour vous.