05-04-2009, 12:36 PM
Au lieu de passer par plein de paramètres que tu ne rempliras pas forcément, ton gestionnaire d'évènements pourrait recevoir en paramètre un évènement qui serait capable de se "gérer" lui même.
Exemple : Le drible (en supposant que tu aies déjà le gagnant et le vaincu ) :
Exemple : Le drible (en supposant que tu aies déjà le gagnant et le vaincu ) :
Code PHP :
<?php
$evenement = new DribleEvent( $gagnant, $vaincu ) ;
$gestionnaire->ajouterEvenement($evenement) ;
Ensuite lors de la phase de sérialisation, le gestionnaire va parcourir sa liste d'évènements et leur demander de se sérialiser (ce qui t'évite d'avoir à vérifier si tes paramètres sont remplis dans un cas et pas dans l'autre).
Je trouve cette approche assez pratique car si un jour on souhaite ajouter un nouvel évènement, on a pas besoin de toucher au code du gestionnaire lors des phases d'enregistrement, de chargement etc... car c'est l'évènement lui même qui sait gérer ça.
Et bien entendu ça évite plein de if...elseif dans ton gestionnaire car ce n'est pas à lui de décider comment gérer les données de ses évènements car il n'a pas besoin de les connaître pour pouvoir s'en servir, il sait juste que ce sont des évènements et qu'ils ont tous des méthodes communes dont il pourra se servir. :p
Voilà j'espère avoir été compréhensible. x)