Question

J'écris un programme simple qui se déroulera entièrement côté client. (Programmation Desktop? Ce que les gens font encore ça?) Et je besoin d'un moyen simple de stocker des quantités infimes de données sous une forme structurée, mais ne vois vraiment pas besoin d'utiliser un système de base de données. De plus, certaines des données doit être sérialisé et passé autour de différents utilisateurs, comme une sorte de « fichier » ou peut-être un « document ». (Quelqu'un at-il jamais fait auparavant?)

Alors, je l'ai regardé en utilisant les fichiers .Net, LINQ, manipulation XML directe, et ils semblent tous comme ils faire le travail, mais je voudrais savoir avant de plonger dans l'un d'eux s'il y a une méthode qui est généralement considéré comme plus facile à coder que d'autres. Comme je l'ai dit, la quantité de données à stocker est trivial, même si une centaine de personnes ont tous utilisé la même machine que nous ne parlons pas de plus de 10 Mo, donc la performance ne soit pas aussi une préoccupation tout comme codeability / maintenabilité. Merci à vous tous à l'avance!

Était-ce utile?

La solution

Sons comme LINQ to XML est une bonne option pour cela.

Link 1 Link 2

tonnes d'information là-bas sur ce sujet.

Autres conseils

Sans rien d'autre sur votre application, les jeux de données .Net serait probablement votre option la plus facile parce que WriteXml et ReadXml existent déjà.

Une API de sérialisation devrait faire bien ici. Je recommande quelque chose qui est basé contrat ( pas BinaryFormatter, qui est fondée sur le type) car cela garder utilisable au fil du temps (comme vos changements d'assemblage).

Je construirais un modèle d'objet de base (DTO) et utiliser l'une:

  • XmlSerializer
  • DataContractSerializer
  • protobuf-net (vous saviez tous qu'il allait venir ...)

OO, simple et facile. Et facile à utiliser pour des fragments passant des données (soit entre les utilisateurs de à un serveur central).

Je choisirais une base de données intégrée. En utilisant quelque chose comme sqlite ne semble pas être un surpuissant pour moi. Vous pouvez même essayer son port c # ( http://code.google.com/p/csharp -sqlite / ).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top