lundi 2 juin 2008

Analyse - Jour 2


Changement de direction. Après avoir trouvé de l'information sur la compilation dynamique, je constate que mon idée d'intégrer les XML dans une DLL est viable jusqu'à présent. L'idée consiste à séparer l'engin de la BD des fichiers XML. Autrement dit, une DLL pour le traitement des données et une pour les fichiers. Voici maintenant à quoi ressemble le projet :






La DLL Engine sera celle que l'usager ajoutera en référence à son projet et avec laquelle il fera tous les opérations.


Par exemple :






Voici le code de la nouvelle version de la méthode AddDatabase. Dans la version précédente, on récupérait l'Assembly en cours d'exécution - c'est-à-dire - la DLL de ce code et on cherchait au sein de celle-ci. Maintenant on récupère une autre DLL référencé dans la DLL Engine et on cherche dans celle-ci l'existence du fichier ressource. En fonctionnant ainsi, je peux modifier le contenu et recompiler la DLL sur le tas.


Prochaine étape :


Faire des modification et recompiler la DLL pour voir si j'ai des erreurs de violation de mémoire ou des trucs comme-ça.

dimanche 1 juin 2008

État du développement

Aujourd'hui j'ai commencé à vérifier si mon idée semble réalisable. Semblerait que jusqu'à maintenant rien ne soit impossible. J'ai créé mon projet et j'ai commencé à travailler sur les espaces de nom (namespace).


Engine : Contiendra les classes objet des éléments de la BD.

System : Contient les classes de gestion de la BD.

User : Contiendra les XML(tables).






Code de la classe Database.cs






Code de la classe X4DB.cs





Comme on peut le voir dans la méthode AddDatabase, on test si la BD existe déjà en recherchant un XML intégré à la DLL. Je ne sais pas si je vais me lancer sur cette piste, celle de vouloir une DLL avec tout intégrer comme resource et invisible à l'utilisateur final ou si je vais exposer l'arborescence de fichier en compilant avec l'option output. C'est sur que l'intégration comme une ressource de chaque XML complique les choses en ce qui concerne la recompilation de la dll lorsque l'on ajoute une nouvelle BD.


Je vais dormir la dessus.


Analyse

Qu'est-ce qu'une base de donnée? Par quoi est-ce que je commence? J'imagine que de définir ce qu'est une base de donnée serait le meilleur point de départ.


L'idée est de pensé au déroulement de l'application.


Première action : créer une base de données. Que ce passe-t-il à ce moment-là?


Pour l'instant je vois ça ainsi :


  1. On doit lui donné un nom;


    Pour l'instant, c'est tout.