Générique de rappel en Java

Ce que devrait être l'préférable Java interface ou modèle similaire qui pourrait être utilisé comme un générique mécanisme de rappel?

Par exemple, il pourrait être quelque chose comme

public interface GenericCallback
{
    public String getID();
    public void callback(Object notification);
    //or public void callback(String id, Object notification);
}

L'ID serait nécessaire pour les cas de surchargée hashCode() méthodes de sorte que le destinataire de l'appel identifie l'appelant.

Un modèle comme ci-dessus est utile pour les objets que doit faire rapport à la classe à laquelle ils ont été générés à partir d'un état (par exemple, à la fin du traitement).

Dans ce scénario, le "parent" de la classe utiliser le getID() méthode de chacune de ces GenericCallback objets à garder une trace d'eux dans un Map<String, GenericCallable> et les ajouter ou les supprimer selon la notification reçue.

Aussi, comment devraient-ils une interface en fait le nom?

Beaucoup de gens semblent préférer la Java modèle Observateur, mais le Observables classe défini, il n'est pas pratique, car il pas une interface de contourner l'héritage simple, et il a plus de fonctionnalités que nécessaire dans le ci-dessus, scénario simple.

  • Euh, comment sur Observer docs.oracle.com/javase/7/docs/api/java/util/Observer.html et Observable docs.oracle.com/javase/7/docs/api/java/util/Observable.html
  • "La pièce d'identité devrait être nécessaire pour les cas de surchargée hashCode() les méthodes de sorte que le destinataire de l'appel identifie l'appelant." Je ne comprends pas cette partie
  • Si vous avez un "observables" de l'objet avec un hashCode() méthode qui modifie sa valeur de retour fondée sur l'état de l'objet, et vous gardez une trace de tous les objets observés dans une table de hachage (par exemple, pour être en mesure d'affirmer que lorsque tous ces objets ont fini de s'exécuter), puis vous ne pouvez pas correspondre tout suivi observables.
  • Il est préférable d'utilisation spécifiques, sérieux types plutôt que général, les types de sens.
InformationsquelleAutor PNS | 2013-03-06