31
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 17, 2024, 04:00:17 pm »
Bonjour
J'ai fait une version un peu plus simple du programme qui transforme le fichier json en un gestionnaire, je peux le publier si besoin. cette version utilise des "lambda expression" appelées aussi fermetures ou clôtures.
Plus intéressant j'ai essayé une version complètement différente de la précédente. Le fichier json est lu ce qui donne un objet json recélant toutes les infos pour le gestionnaire. C'est cet objet json qui va mémoriser toutes les constantes : noms des zones et des aiguilles, sens de zones, types de aiguilles ... et les variables : l'état ("libre" ou "occupe") des zones, l'état "("gauche" ou "droite") des aiguilles, ... Les infos fournies par les capteurs pourront mettre à jour ces variables.
L'avantage de cette version est qu'il n'y a plus d'objets à créer, donc plus de programmation objet.
L'inconvénient est que l'exécution est nettement plus lente, Mais elle peut être accélérée en transformant un peu l'objet json issu de la lecture, par exemple en donnant des numéros aux zones et aux aiguilles et en y accédant non plus par leur noms (clés) mais par les numéros (indiçeage des tableaux). D'autre accélérations sont possibles, mais ce sera toujours plus lent que la première version.
Le programme Processing est téléchargeable ci-dessous. Il fait pratiquement la même chose que la première version.
Pierre
J'ai fait une version un peu plus simple du programme qui transforme le fichier json en un gestionnaire, je peux le publier si besoin. cette version utilise des "lambda expression" appelées aussi fermetures ou clôtures.
Plus intéressant j'ai essayé une version complètement différente de la précédente. Le fichier json est lu ce qui donne un objet json recélant toutes les infos pour le gestionnaire. C'est cet objet json qui va mémoriser toutes les constantes : noms des zones et des aiguilles, sens de zones, types de aiguilles ... et les variables : l'état ("libre" ou "occupe") des zones, l'état "("gauche" ou "droite") des aiguilles, ... Les infos fournies par les capteurs pourront mettre à jour ces variables.
L'avantage de cette version est qu'il n'y a plus d'objets à créer, donc plus de programmation objet.
L'inconvénient est que l'exécution est nettement plus lente, Mais elle peut être accélérée en transformant un peu l'objet json issu de la lecture, par exemple en donnant des numéros aux zones et aux aiguilles et en y accédant non plus par leur noms (clés) mais par les numéros (indiçeage des tableaux). D'autre accélérations sont possibles, mais ce sera toujours plus lent que la première version.
Le programme Processing est téléchargeable ci-dessous. Il fait pratiquement la même chose que la première version.
Pierre