Callback ou « le retour de la programmation spaghettis »
Bonjour,
Un titre un petit peu provocateur, je le concède. Mais est-ce une réalité ou est-ce moi qui n’utilise pas correctement les callbacks ?
Voici, sur base d’un exemple le problème et sa résolution spaghetti.
Dans une application, j’ai des utilisateurs ASP (avec login et mot de passe) qui sont associés à des individus (Pierre, Paul ou Jacques). Chaque individu fait partie d’un Magasin.
Il m’importe de connaitre le numéro ou le nom du magasin dans lequel travaille celui qui vient de se loguer.
Après qu’il ait entré son mot de passe, je dois faire un premier callback qui me retrouve l’identifiant ASP en fonction du nom de l’utilisateur ASP.
Dans CallBack_identifiantASP, je dois faire un second callback qui me retrouve l’identifiant de Pierre, Paul ou Jacques en fonction de l’association (foreign key) entre « individu » et utilisateur ASP.
Ensuite, comme l’individu me donne aussi l’identifiant du magasin dans lequel il travaille, je n’ai plus qu’à faire un troisième callback qui va me retrouver par exemple le nom du magasin.
L’inconvénient de ces callbacks successifs est que le code est disséminé dans l’un ou l’autre de ces callbacks plutôt que d’être structuré en un seul endroit.
Il en va de même si je veux par exemple enregistrer 3 achats sur une carte de fidélité d’un client, je dois :
Après sélection du client, callback pour voir s’il a déjà une carte de fidélité.
Si NON (pas encore de carte), je dois la créer et refaire un callback pour connaitre l’identifiant de la nouvelle carte (j'ai souligné pour savoir si dans ce cas il n'existe aucun moyen de récupérer l'identifiant nouvellement créer sans faire un callback). Et enfin je peux mettre mes achats dessus.
Si OUI(déjà une carte), je dois faire un callback pour savoir s’il n’est pas pleine..
Merci d'avance pour vos commentaires.:)