Voici mon point de vue sur les trois :
Liaison de données
Essentiellement, cela signifie simplement que "la valeur de la propriété X sur l'objet Y est sémantiquement liée à la valeur de la propriété A sur l'objet B. Aucune hypothèse n'est faite quant à la façon dont Y connaît ou est informé des changements sur l'objet B.".
Observateur, ou Observable/Observateur
Un modèle de conception par lequel un objet est doté de la capacité de notifier à d'autres des événements spécifiques - généralement en utilisant des événements réels, qui sont en quelque sorte des fentes dans l'objet avec la forme d'une fonction/méthode spécifique. L'observable est celui qui fournit les notifications, et l'observateur reçoit ces notifications. En .net, l'observable peut exposer un événement et l'observateur s'abonne à cet événement à l'aide d'un crochet en forme de "gestionnaire d'événement". Aucune hypothèse n'est faite sur le mécanisme spécifique par lequel les notifications se produisent, ni sur le nombre d'observateurs qu'un observable peut notifier.
Pub/Sub
Un autre nom (peut-être avec une sémantique plus "broadcast") du modèle Observable/Observer, qui implique généralement une saveur plus "dynamique" - les observateurs peuvent s'abonner ou se désabonner aux notifications et un observable peut "crier" à plusieurs observateurs. En .NET, on peut utiliser les événements standard pour cela, puisque les événements sont une forme de MulticastDelegate, et peuvent donc prendre en charge la livraison d'événements à de multiples abonnés, ainsi que la désinscription. Pub/Sub a une signification légèrement différente dans certains contextes, impliquant généralement plus d'"anonymat" entre l'événement et l'auteur de l'événement, ce qui peut être facilité par un certain nombre d'abstractions, impliquant généralement un "intermédiaire" (tel qu'une file d'attente de messages) qui connaît toutes les parties, mais les parties individuelles ne se connaissent pas les unes les autres.
Liaison de données, Redux
Dans de nombreux modèles de type MVC, l'observable expose une sorte de "notification de changement de propriété" qui contient également des informations sur la propriété spécifique modifiée. L'observateur est implicite, généralement créé par le cadre, et s'abonne à ces notifications via une syntaxe de liaison permettant d'identifier spécifiquement un objet et une propriété, et le "gestionnaire d'événements" se contente de copier la nouvelle valeur, en déclenchant éventuellement une logique de mise à jour ou de rafraîchissement.
Liaison de données re Redux
Une implémentation alternative pour la liaison de données ? Ok, en voici une stupide :
- un thread d'arrière-plan est lancé pour vérifier en permanence la propriété bound d'un objet.
- si ce thread détecte que la valeur de la propriété a changé depuis la dernière vérification, il copie la valeur dans l'élément lié.
0 votes
J'en ai trouvé un autre : vérification des salissures ce que fait Angular.js. Plus d'informations ici : stackoverflow.com/questions/9682092/databinding-in-angularjs