Bonjour à tous,
Je code actuellement une application javafx et je me pose plusieurs questions d'un point de vue architecture de l'application:
1) Jusqu'a présent je codais sans framework, mais j'ai regardé un tuto qui montrait le fonctionnement du framework MVVMFx et celui-ci est intéressant. Cependant je me pose plusieurs questions:
1.1) A quoi sert les ModelView dans ce framework ? Moi mes valeurs sont binder directement dans le fichier .xml, je ne comprend pas l'intéret de rajouter un fichier qui gére l'état de la vue.
1.2) Comme je vais l'expliquer dans les questions suivantes: Ais-je besoin d'un système d'injection de dépendance ?
2) J'ai une base de donnée qui stocke les informations de mon application. La pluparts des informations que je ressors de celles-ci sont stockés dans des ObservableList puisque je m'en ressers pour mes controles (TableView, ComboBox etc..). J'ai différentes fenêtres qui permettent de modifier ces informations.
Concrétement j'ai une ObservableList qui contient 4 objets A venant de ma base de données. Je décide à l'aide mes GUI de modifier la valeur X de mon 2ième objet A, puis la valeur Y de mon 4ième objet A. Dois-je modifié les valeurs de ma BDD à chaque modification des valeurs de mes objects A ?
Si oui, cela impacte t-il considérablement les performances ?
Si non, dois-je attendre que l'utilisateur ferme l'application pour tout sauvergarder dans la BDD et donc utiliser ? Je créé alors une classe qui compendra toutes mes valeurs Observable et je l'ajoute aux controlleurs qui en ont besoins ? injection de dépendances ?
Il faut savoir que les informations de certaines ObservableList ne devront être (en principe) que très peu modifier, alors que d'autres seront modifier plus souvent. Un système hybride serait-il plus efficace ? (mixage entre sauvegarde en fin d'application et sauvegarde à la vollée ?)
3) Pour l'accès à ma BDD j'ai créer des DAO<T> et une DAOFactory qui me créer des DAO<T>. Cela est-il une bonne pratique ?
4) J'entend beaucoup parlé de memory leak. Quelles sont les choses dont je dois faire attention afin de ne pas exposer mon application à ce genre de problèmes ?
5) Je stocke la configuration de mon application dans les préférences système, grâce à ceci. Ma configuration contient par exemple: la langue de l'application, l'état des paramétres etc..
Actuellement ils sont accessible grâce à un objet static comme-ceci:
A chaque fois que je souhaite modifier celle-ci, je la récupére de cette maniére: "Main.configuration". Je ne sais pas si cela est la bonne manière de faire. Mettre en place de l'injection de dépendance ? Cela est-il judicieux ?/**
* Donnée membre contenant la configuration effectuée par l'utilisateur
*/
public static Configuration configuration = new Configuration;
Merci pour vos réponses.
Partager