Je développe une application C# où la majorité de la base de code est dans les bibliothèques de classes C#. Je souhaite que l'application prenne en charge la sauvegarde et le chargement des fichiers de projet basés sur XML et puisse déterminer si des modifications ont eu lieu depuis la dernière sauvegarde.Modèle de conception pour les fichiers de projet XML en C#
Mon idée actuelle est de conception:
Chaque classe qui doit stocker les paramètres implémente IXmlSerializable. L'application maintient une liste générique d'objets de paramètres IXmlSerializable et appelle ReadXml et WriteXml pour sauvegarder/charger les fichiers du projet.
Chaque classe qui stocke les paramètres conserve également un indicateur modifié.
L'application peut vérifier si le projet a été modifié par la liste générique énumérant des objets IXmlSerializable et vérifier le drapeau modifié sur chaque. Il peut également effacer le drapeau modifié sur chaque sauvegarde après.
Est-ce un bon design? Y en a-t-il de meilleurs? Peut-être que j'ai aussi besoin de dériver ma propre interface de IXmlSerializable pour ajouter le drapeau modifié?
merci, Andy
Notez qu'il est possible que je puisse utiliser autre chose que XML, mais je pense que mon modèle de base resterait le même. Créez une interface avec une fonction de lecture, une fonction d'écriture et un indicateur modifié, puis utilisez une liste générique de ces objets. – Andy