Machines à états : gérer les cas d'erreurs ou laisser ça a la charge du client ?
#11
Pour moi il faut un Controller, qui fait interface entre les event reçu par les WS (sorte de router) et ta state machine (modele), pour moi c'est là que ça devrait se passer...

C'est forcement le serveur qui check les règles du jeu hein 34 je comprends pas que tu le demandes, tu le sais très bien. Tu peux faire une vérif client pour éviter des échanges mais c'est tout.
Répondre
#12
Evidemment, le middleware évoqué est bien côté serveur. La state machine aussi puisque c'est un process Erlang (un genre de thread qui vit longtemps et auquel tu peux envoyer des messages, l'entité à la base du modèle de concurrence d'Erlang).

Actuellement je fais comme décrit Xenos, ce middlware effectue des contrôles basiques, il vérifie qu'il reçoit bien en paramètres les types attendus, sans pour autant faire respecter les règles (il ne les connait pas, c'est la state machine du jeu qui les connait).

En aparté, je ne considère pas la BDD comme une state machine, son interface étant infinie.
Répondre
#13
Avec gen_statem, faire un catchall pour chaque event pour éviter de chrasher le process n'est pas "mal" en soi, c'est pas grave d'avoir un peu de code défensif.
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Javascript] Se souvenir d'un fichier chargé dynamiquement ? Ter Rowan 9 2 699 08-06-2012, 09:21 PM
Dernier message: Ter Rowan
  Développement, OS et machines virtuelles Sephi-Chan 13 3 946 08-25-2010, 06:28 PM
Dernier message: Sephi-Chan



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)