Я видел две разные реализации memento на .NET.Внедрение Memento на .NET
Один довольно простой - объект создает другой экземпляр сам по себе.
Другое сериализует объект, используя BinaryFormatter и MemoryStream.
Какой предпочтительный метод? Может ли кто-нибудь указать преимущества/недостатки каждого подхода?
Кстати, я заинтересован в том, чтобы взглянуть на него с точки зрения использования ресурсов и производительности разработчиков. Я прошу прощения за то, что не сказал об этом в первую очередь.
Предполагая, что память не нуждается в сохранении, что предпочтительнее?
С точки зрения производительности разработчиков сериализация выигрывает руки. Несколько строк, которые являются универсальными для любого объекта, более эффективны, чем необходимость вручную создавать клон, который включает в себя, возможно, частные конструкторы, назначения полей и т. Д.
Но опять же, возможно, сериализация тяжелая - я не уверен.