Pour DataPermanant, je suis confronté à un petit problème.
J'ai deux choix d'interfaces :
- XML-like
- on peut avoir une hiérarchie de propriétés : pere.fils.petitfils = valeur
- mais ce n'est pas vraiment compatible à un stockage BDD
- SQL-like
- on peut faire des requetes comme "prendre tous les monstres craignant le feux" assez facilement et les performances ne sont pas mauvaises.
- on peut créer des vues pour cacher un peu la structure réelle de la table.
- mais cela ne permettrait pas facilement d'avoir une hiérarchie de propriétés.
Pour le stockage, je pense utiliser SQLite (je me suis trompé en disant firebird tout à l'heure ).
Je vais devoir prendre l'interface C (domaine public) et l'encapsuler correctement. Il existe une multitude d'interfaces C++ mais elles me semble pas géniales.
Le problème, c'est que je ne peux pas vraiment encapsuler la structure des tables, ce sera à l'utilisateur des tables de faire ses propres fonctions d'encapsulation de requêtes pour chaque nouvelle requête qu'il souhaite créer.
Et ce ne serait pas mal d'avoir un accès XML-like pour certaines données tout en gardant un accès SQL-like et un stockage par BDD, il faut que j'y réfléchisse.
Partager