Bonjour à tous,
Je poste un message sur l'architecture de mon application parce que je dois l'avouer, n'ayant développé que de ridicules outils sur Windows Mobile en C#, je n'ai jamais vraiment réalisé un projet comme je souhaite le faire maintenant sur mon Milestone.
Pour commencer voilà approximativement ce dont je voudrais faire:
Je voudrais pouvoir gérer une base de donnée afin de gérer des prêts de livres, magasines et autres types d'objets. Visuellement parlant l'application me permettrait de lister les personnes et les prêts associés, d'ajouter/modifier/supprimer des prêts ce qui est normal. A chaque fois que je contacte quelqu'un je met à jour un suivi ou il figurera la date que je l'ai vu, ce qu'il a rendu, ce qu'il m'a ré-empreinté etc ce qui redéfiniera ou non des rappels à propos du/des prêts.
Pour gérer ce suivis, je voudrais réaliser un processus qui tourne en background pour ajouter des interactions système avec l'utilisateur.
Par exemple, si mon délais de prêt arrive à son terme pour une personne, je voudrais envoyer une notification système pour avertir le gestionnaire, celui qui utilise sur son téléphone mon programme. De la même manière, imaginons qu'un tel me téléphone et qu'il doit me rendre un article, ce processus jouerai un son particulier ou ajouterai une notification visuelle pour m'en faire rappeler.
Biensûr on peut pousser le concept et aller loin, même pour ce genre de logiciel... mais une grosse partie de l'idée ce trouve expliquée ci dessus.
Maintenant je manque de visibilité sur la conception:
Je pourrais modéliser mes différents objets comme par exemple les classes représentant les data:
Personne (nom, prénom, listeDePrêts...)
Pret(date, listeObjetsPrétés...)
Objet(nom, type, autreInfo...)
Quelques question à ce propos:
Comment stocker et récupérer ces objets?
Dois je créer des méthodes dans ces classes 'data' qui iront questionner la base pour remplir les attributs de mon objet ou les mettre à jour?
Ou dois je faire une classe spécialisé, je dirais une classe dite 'Manager' pour manipuler la BDD pour produire ces objets en mémoire et les sauvegarder ?
Serait t-il mieux de travailler directement dans la base de donnée, une sorte de superclasse pour faire ça ?
C'est là que j'aimerai savoir comment vous organiseriez votre code pour cette application.
J'aurais certainement d'autres questions par la suite mais pour l'instant cette partie de gestion de l'information me bloque un peu, surtout que je considère que mon environnement de travail est plutôt restreint en terme de mémoire, puissance de calcul donc j'ai besoin de vos lumières ...
Merci de votre aide
Aurélien.
Partager