J'ai vu deux implémentations différentes de memento sur .NET.Implémentation de Memento sur .NET
Un est assez simple - L'objet crée une autre instance de lui-même.
L'autre est sérialisation l'objet en utilisant BinaryFormatter et MemoryStream.
Quelle est la méthode préférée? Quelqu'un peut-il souligner les avantages/inconvénients de chaque approche? En passant, je m'intéresse au point de vue de l'utilisation des ressources et de la productivité des développeurs. Je m'excuse de ne pas l'avoir dit en premier.
En supposant que le mémento n'a pas besoin d'être persisté, ce qui est préféré? Du point de vue de la productivité des développeurs, la sérialisation gagne la main. Quelques lignes génériques pour un objet sont plus efficaces que de créer manuellement un clone impliquant des constructeurs privés, des affectations de champs, etc.
Mais là encore, peut-être que la sérialisation est lourde - je ne suis pas certain.