C'est une question plus vague que vous ne le pensez. Les "paramètres" peuvent englober énormément de choses.
Il existe une bonne infrastructure .NET pour gérer les paramètres d'application dans les fichiers de configuration. Ceux-ci sont généralement exposés à votre programme en tant que propriétés d'un objet Paramètres global; Les classes de l'espace de noms System.Configuration
se chargent de les lire et de les conserver, et des outils sont intégrés dans Visual Studio pour générer automatiquement le code permettant de les gérer. L'un des types de données pris en charge par cette infrastructure est StringCollection
, vous pouvez donc l'utiliser pour stocker une liste de serveurs.
Mais pour une grande liste de serveurs, ce ne serait pas mon premier choix, pour plusieurs raisons. Je m'attendrais à ce que les éléments de votre liste soient réellement des tuples (par exemple nom d'hôte, port, description), pas des chaînes simples, auquel cas vous devrez formater et analyser les données pour les obtenir dans un StringCollection
, et C'est généralement un signe que vous devriez faire quelque chose d'autre. En outre, les paramètres de l'application sont en lecture seule (sous Vista, au moins) et, bien que vous puissiez définir une portée d'utilisateur pour la rendre persistante, cela vous mène vers un chemin que vous voulez probablement comprendre avant de vous engager.
Donc, une autre chose que je considérerais: Votre liste de serveurs est-elle simplement une liste, ou avez-vous un modèle d'objet interne la représentant? Dans ce dernier cas, je pourrais envisager d'utiliser la sérialisation XML pour stocker et récupérer les objets. (La seule chose que je garderais dans le fichier de configuration de l'application serait le chemin vers le fichier d'objet sérialisé.) Je le ferais car la sérialisation et la désérialisation d'objets simples en XML est vraiment facile; Vous n'avez pas à vous soucier de concevoir et de tester un format de sérialisation approprié car les outils le font pour vous. La principale raison pour laquelle je regarde l'utilisation d'une base de données est si mon programme effectue un tas d'opérations dont les résultats doivent être atomiques et durables, ou si pour une raison quelconque je ne veux pas toutes mes données en mémoire à la fois. Si chaque fois que X arrive, j'en veux un enregistrement permanent, cela m'amène à utiliser une base de données. Vous ne voulez pas utiliser la sérialisation XML pour quelque chose comme ça, en général, car vous ne pouvez pas sérialiser de manière réaliste un seul objet si vous enregistrez tous vos objets dans un seul fichier physique. (Bien que ce ne soit certainement pas fou de simplement sérialiser votre modèle d'objet entier pour sauvegarder un changement, c'est exactement ce que fait le produit de mon entreprise et cela indique une autre circonstance dans laquelle je n'utiliserais pas de base de données: changer fréquemment.)
Quelle est la taille de cette liste? Combien d'enregistrements? – tuinstoel
Dans les centaines probablement. –