Est-il un modèle de conception qui traite avec mécanisme de rappel?
Est-il un modèle de conception qui traite avec mécanisme de rappel?
Vous devez vous connecter pour publier un commentaire.
Est-il un modèle de conception qui traite avec mécanisme de rappel?
Vous devez vous connecter pour publier un commentaire.
Qui serait le Modèle Observateur - à Partir de Wikipedia
Il dépend de la façon dont le rappel est utilisé.
Modèles de conception sont tout au sujet de la communication de votre intention.
Si vous avez l'intention de permettre à un ou plusieurs rappels à être enregistrés, et ils peuvent être appelés comme de notification "à un certain moment dans l'avenir", vous parlez de l'Observateur. Aussi-le réel de l'invocation de la fonction de rappel dans ce cas, elle est "facultatif" ou déclenché sur la base des mesures de relance. (Les rappels peuvent ou ne peuvent jamais être appelé)
Si vous avez l'intention de passer en "quelque chose " à faire", et qui se fait dans la méthode (ou est utilisé pour "faire quelque chose" au cours d'un processus tard) vous parlez de la Stratégie. Aussi-le réel de l'invocation se fait habituellement.
Noter que exactement le même code peut être soit, c'est vraiment sur la façon dont vous êtes en train de penser au sujet du problème et de la façon dont vous voulez que les autres à penser.
rappel est une forme stratégie de modèle de conception
Plusieurs. Découvrez http://people.bu.edu/azs/teaching/cs108/2006fall/callback_pattern.pdf, et les suivantes:
Modèle Visiteur: http://en.wikipedia.org/wiki/Visitor_pattern
Modèle Observateur: http://en.wikipedia.org/wiki/Observer_pattern
Modèle De Stratégie: http://en.wikipedia.org/wiki/Strategy_pattern
La plus appropriée dépend de la situation. Quel langage de programmation que vous souhaitez utiliser et ce que voulez-vous faire exactement?
Externe polymorphisme - Un objet a une référence à un autre objet et une fonction à appeler sur un objet. Il peut être considéré comme un type unique, donc vous pouvez mélanger et assortir des objets et des fonctions d'appel pour l'événement. Les délégués sont un exemple de ce modèle. C'est de plus en C# d'un style d'approche.
Modèle observateur - Vous utilisez une interface/classe de base qu'un objet peut mettre en œuvre et d'inscrire cette interface à un événement. Plus de un Java approche de style.
Vérifier la réponse que j'ai posté ici pour un C++ solution pour les délégués/externe polymorphisme:
raw pointeur de fonction à partir d'une méthode liée
Votre question est très générale, et la plus générale, la réponse est, je pense, pour utiliser le polymorphisme lorsque vous avez un problème qui nécessite un rappel.
Polymorphisme vous permet de spécifier un contrat de logiciel sous la forme d'une interface ou une classe abstraite) à propos de comment votre rappel est d'être utilisé. Les clients sont libres de choisir l'implémentation de l'interface qu'ils voient adaptés à leur usage.
Si il est conseillé d'utiliser de l'état, la stratégie, le modèle observateur ou quelque chose de complètement différent dépend vraiment de la situation.
Un bon modèle de description est le Service de Rappel de modèle de conception. Il fait partie d'un catalogue de SOA modèles, mais le schéma que celui décrit peut être utilisé avec des composants génériques qui ne sont pas des services SOA.
Un autre motif est la Adresse de retour du motif décrit dans le livre classique de l'Entreprise "Modèles d'Intégration" par Hohpe et Woolf.
Josuttis parle aussi de rappel dans son livre "SOA dans la Pratique". Il l'appelle la Demande/Rappel modèle d'échange de messages.
Le Modèle Observateur vient à l'esprit.
Un objet (suscriber) peuvent s'inscrire à un autre objet (de l'éditeur).
Lorsque l'éditeur est modifié ou mis à jour, il peut en informer tous les abonnés de son.
En fonction du langage que vous utilisez, vous pouvez spécifier une fonction qui doit être appelée sur l'avise.
http://en.wikipedia.org/wiki/Observer_pattern
C'est bien décrite dans Les Design Patterns: Elements de Logiciels Orientés Objets Réutilisables ["bande des Quatre"]
Je suis d'accord avec les autres affiches sur le pattern observer ainsi. Il est spécifiquement conçu à cet effet.