2016-01-16 3 views
6

Lens est une fonction qui effectue une modification immuable de l'enregistrement: il copie la partie modifiant le contenu de son enregistrement. Lenses est une bibliothèque qui vous permet de combiner des lentilles pour obtenir des modifications plus compliquées.Quel est le nom de l'objectif inversé?

Je cherche un terme correct qui définit l'abstraction inverse. Une fonction qui compare deux objets et renvoie la différence entre eux. De telles fonctions produisent également un système. Chaque modification peut être représentée simultanément avec une description à granularité fine "champ A à l'intérieur du champ B à l'intérieur du champ C à l'intérieur de l'enregistrement" ou avec un "champ C grossier à l'intérieur de l'enregistrement". Ainsi, vous pouvez modéliser la modification avec le degré d'exactitude souhaité.

Je dois écrire du code pour comparer les enregistrements et réagir aux modifications qu'ils contiennent. Je voudrais éviter de réinventer la roue. J'ai essayé de google verres inversés, mais noyé dans la sortie non pertinente.

Répondre

2

Vous pouvez vous reporter à l'algorithme de synchronisation différentielle pour cela. C'est un algorithme basé sur les opérations DIFF et PATCH. La partie DIFF peut vous être utile.

Pour référence supplémentaire: https://neil.fraser.name/writing/sync/