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