Créer un événement personnalisé en Java : exploiter le modèle d'observateur
Lors du développement d'applications Java, il est souvent nécessaire d'implémenter une communication entre différents objets dans de manière fiable et flexible. Les événements et les auditeurs fournissent une solution robuste à cet effet.
Considérez le scénario suivant :
When event "object 1 say 'hello'" happens, then object 2 responds to that event by saying "hello".
Pour créer une telle interaction basée sur les événements, le modèle Observer est pratique. Le modèle Observer définit une relation un-à-plusieurs entre les objets, dans laquelle un « observable » (initiateur) informe tous ses « observateurs » enregistrés (auditeurs ou répondeurs) lorsqu'un « événement » se produit.
Pour mettre en œuvre cela modèle, suivez ces étapes :
Définissez l'événement : Créez une interface qui représente le événement. Dans ce cas, cela pourrait être :
interface HelloEvent { void someoneSaidHello(); }
Créer l'observable : Cette classe gérera les abonnements aux événements et avertira les observateurs lorsque l'événement se produit. Il peut être nommé "Initiateur":
class Initiater { private List<HelloEventListener> listeners = new ArrayList<>(); public void addListener(HelloEventListener toAdd) { listeners.add(toAdd); } public void sayHello() { System.out.println("Hello!!"); for (HelloEventListener hl: listeners) hl.someoneSaidHello(); } }
Créer l'observateur : Cette classe implémente l'interface d'événement et définit le comportement qui doit être déclenché lorsque l'événement se produit. Voici un exemple de répondeur :
class Responder implements HelloEventListener { @Override public void someoneSaidHello() { System.out.println("Hello there..."); } }
Enregistrer les observateurs : Connectez les observateurs à l'observable à l'aide de la méthode "addListener" :
Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder);
Déclenchez l'événement :Les déclencheurs observables l'événement en appelant une méthode spécifique (par exemple, "sayHello") :
initiater.sayHello(); // Output: "Hello!!!" "Hello there..."
En suivant ces étapes, vous aurez réussi à créer un mécanisme d'événement personnalisé en Java à l'aide d'Observer Modèle, permettant aux objets de communiquer et de réagir à des événements spécifiques de manière découplée et extensible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!