J'ai récemment couru à travers plusieurs objets mis en œuvre pour gérer les événements avec une cartographie codée en dur utilisant ce modèle:Existe-t-il une meilleure façon qu'une séquence de si pour gérer les événements?
public void handleEvent(Event event)
{
if(event.getCode() == SOME_STATIC_EVENT)
doSomething(event);
if(event.getCode() == ANOTHER_STATIC_EVENT)
doSomethingElse(event);
}
où les fonctions DoSomething sont mises en œuvre en tant que méthodes de la même classe.
Dans l'espoir de viser un couplage plus lâche, comment suggéreriez-vous d'extraire ce modèle? Aussi, quelle est la meilleure approche pour mapper des fonctions 0..N à un événement déclenché?